// Copyright (c) 2016, SolidCP
// SolidCP is distributed under the Creative Commons Share-alike license
// 
// SolidCP is a fork of WebsitePanel:
// Copyright (c) 2015, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,
// are permitted provided that the following conditions are met:
//
// - Redistributions of source code must  retain  the  above copyright notice, this
//   list of conditions and the following disclaimer.
//
// - Redistributions in binary form  must  reproduce the  above  copyright  notice,
//   this list of conditions  and  the  following  disclaimer in  the documentation
//   and/or other materials provided with the distribution.
//
// - Neither  the  name  of  the  Outercurve Foundation  nor   the   names  of  its
//   contributors may be used to endorse or  promote  products  derived  from  this
//   software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,  BUT  NOT  LIMITED TO, THE IMPLIED
// WARRANTIES  OF  MERCHANTABILITY   AND  FITNESS  FOR  A  PARTICULAR  PURPOSE  ARE
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
// ANY DIRECT, INDIRECT, INCIDENTAL,  SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL DAMAGES
// (INCLUDING, BUT NOT LIMITED TO,  PROCUREMENT  OF  SUBSTITUTE  GOODS OR SERVICES;
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)  HOWEVER  CAUSED AND ON
// ANY  THEORY  OF  LIABILITY,  WHETHER  IN  CONTRACT,  STRICT  LIABILITY,  OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE)  ARISING  IN  ANY WAY OUT OF THE USE OF THIS
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

﻿//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//     Runtime Version:2.0.50727.42
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

// 
// This source code was auto-generated by wsdl, Version=2.0.50727.42.
// 
namespace SolidCP.Providers.Mail.SM5
{
	using System.Diagnostics;
	using System.Web.Services;
	using System.ComponentModel;
	using System.Web.Services.Protocols;
	using System;
	using System.Xml.Serialization;

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	[System.Web.Services.WebServiceBindingAttribute(Name = "svcAliasAdminSoap", Namespace = "http://tempuri.org/")]
	public partial class svcAliasAdmin : System.Web.Services.Protocols.SoapHttpClientProtocol
	{

		private System.Threading.SendOrPostCallback AddAliasOperationCompleted;

		private System.Threading.SendOrPostCallback SetCatchAllOperationCompleted;

		private System.Threading.SendOrPostCallback UpdateAliasOperationCompleted;

		private System.Threading.SendOrPostCallback DeleteAliasOperationCompleted;

		private System.Threading.SendOrPostCallback GetAliasOperationCompleted;

		private System.Threading.SendOrPostCallback GetAliasesOperationCompleted;

		/// <remarks/>
		public svcAliasAdmin()
		{
			this.Url = "http://localhost:9998/Services/svcAliasAdmin.asmx";
		}

		/// <remarks/>
		public event AddAliasCompletedEventHandler AddAliasCompleted;

		/// <remarks/>
		public event SetCatchAllCompletedEventHandler SetCatchAllCompleted;

		/// <remarks/>
		public event UpdateAliasCompletedEventHandler UpdateAliasCompleted;

		/// <remarks/>
		public event DeleteAliasCompletedEventHandler DeleteAliasCompleted;

		/// <remarks/>
		public event GetAliasCompletedEventHandler GetAliasCompleted;

		/// <remarks/>
		public event GetAliasesCompletedEventHandler GetAliasesCompleted;

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/AddAlias", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public GenericResult AddAlias(string AuthUserName, string AuthPassword, string DomainName, string AliasName, string[] Addresses)
		{
			object[] results = this.Invoke("AddAlias", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    AliasName,
                    Addresses});
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginAddAlias(string AuthUserName, string AuthPassword, string DomainName, string AliasName, string[] Addresses, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("AddAlias", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    AliasName,
                    Addresses}, callback, asyncState);
		}

		/// <remarks/>
		public GenericResult EndAddAlias(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public void AddAliasAsync(string AuthUserName, string AuthPassword, string DomainName, string AliasName, string[] Addresses)
		{
			this.AddAliasAsync(AuthUserName, AuthPassword, DomainName, AliasName, Addresses, null);
		}

		/// <remarks/>
		public void AddAliasAsync(string AuthUserName, string AuthPassword, string DomainName, string AliasName, string[] Addresses, object userState)
		{
			if ((this.AddAliasOperationCompleted == null))
			{
				this.AddAliasOperationCompleted = new System.Threading.SendOrPostCallback(this.OnAddAliasOperationCompleted);
			}
			this.InvokeAsync("AddAlias", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    AliasName,
                    Addresses}, this.AddAliasOperationCompleted, userState);
		}

		private void OnAddAliasOperationCompleted(object arg)
		{
			if ((this.AddAliasCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.AddAliasCompleted(this, new AddAliasCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/SetCatchAll", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public GenericResult SetCatchAll(string AuthUserName, string AuthPassword, string DomainName, string AliasName)
		{
			object[] results = this.Invoke("SetCatchAll", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    AliasName});
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginSetCatchAll(string AuthUserName, string AuthPassword, string DomainName, string AliasName, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("SetCatchAll", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    AliasName}, callback, asyncState);
		}

		/// <remarks/>
		public GenericResult EndSetCatchAll(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public void SetCatchAllAsync(string AuthUserName, string AuthPassword, string DomainName, string AliasName)
		{
			this.SetCatchAllAsync(AuthUserName, AuthPassword, DomainName, AliasName, null);
		}

		/// <remarks/>
		public void SetCatchAllAsync(string AuthUserName, string AuthPassword, string DomainName, string AliasName, object userState)
		{
			if ((this.SetCatchAllOperationCompleted == null))
			{
				this.SetCatchAllOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetCatchAllOperationCompleted);
			}
			this.InvokeAsync("SetCatchAll", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    AliasName}, this.SetCatchAllOperationCompleted, userState);
		}

		private void OnSetCatchAllOperationCompleted(object arg)
		{
			if ((this.SetCatchAllCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.SetCatchAllCompleted(this, new SetCatchAllCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/UpdateAlias", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public GenericResult UpdateAlias(string AuthUserName, string AuthPassword, string DomainName, string AliasName, string[] Addresses)
		{
			object[] results = this.Invoke("UpdateAlias", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    AliasName,
                    Addresses});
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginUpdateAlias(string AuthUserName, string AuthPassword, string DomainName, string AliasName, string[] Addresses, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("UpdateAlias", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    AliasName,
                    Addresses}, callback, asyncState);
		}

		/// <remarks/>
		public GenericResult EndUpdateAlias(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public void UpdateAliasAsync(string AuthUserName, string AuthPassword, string DomainName, string AliasName, string[] Addresses)
		{
			this.UpdateAliasAsync(AuthUserName, AuthPassword, DomainName, AliasName, Addresses, null);
		}

		/// <remarks/>
		public void UpdateAliasAsync(string AuthUserName, string AuthPassword, string DomainName, string AliasName, string[] Addresses, object userState)
		{
			if ((this.UpdateAliasOperationCompleted == null))
			{
				this.UpdateAliasOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUpdateAliasOperationCompleted);
			}
			this.InvokeAsync("UpdateAlias", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    AliasName,
                    Addresses}, this.UpdateAliasOperationCompleted, userState);
		}

		private void OnUpdateAliasOperationCompleted(object arg)
		{
			if ((this.UpdateAliasCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.UpdateAliasCompleted(this, new UpdateAliasCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/DeleteAlias", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public GenericResult DeleteAlias(string AuthUserName, string AuthPassword, string DomainName, string AliasName)
		{
			object[] results = this.Invoke("DeleteAlias", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    AliasName});
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginDeleteAlias(string AuthUserName, string AuthPassword, string DomainName, string AliasName, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("DeleteAlias", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    AliasName}, callback, asyncState);
		}

		/// <remarks/>
		public GenericResult EndDeleteAlias(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public void DeleteAliasAsync(string AuthUserName, string AuthPassword, string DomainName, string AliasName)
		{
			this.DeleteAliasAsync(AuthUserName, AuthPassword, DomainName, AliasName, null);
		}

		/// <remarks/>
		public void DeleteAliasAsync(string AuthUserName, string AuthPassword, string DomainName, string AliasName, object userState)
		{
			if ((this.DeleteAliasOperationCompleted == null))
			{
				this.DeleteAliasOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteAliasOperationCompleted);
			}
			this.InvokeAsync("DeleteAlias", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    AliasName}, this.DeleteAliasOperationCompleted, userState);
		}

		private void OnDeleteAliasOperationCompleted(object arg)
		{
			if ((this.DeleteAliasCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.DeleteAliasCompleted(this, new DeleteAliasCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetAlias", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public AliasInfoResult GetAlias(string AuthUserName, string AuthPassword, string DomainName, string AliasName)
		{
			object[] results = this.Invoke("GetAlias", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    AliasName});
			return ((AliasInfoResult)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginGetAlias(string AuthUserName, string AuthPassword, string DomainName, string AliasName, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("GetAlias", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    AliasName}, callback, asyncState);
		}

		/// <remarks/>
		public AliasInfoResult EndGetAlias(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((AliasInfoResult)(results[0]));
		}

		/// <remarks/>
		public void GetAliasAsync(string AuthUserName, string AuthPassword, string DomainName, string AliasName)
		{
			this.GetAliasAsync(AuthUserName, AuthPassword, DomainName, AliasName, null);
		}

		/// <remarks/>
		public void GetAliasAsync(string AuthUserName, string AuthPassword, string DomainName, string AliasName, object userState)
		{
			if ((this.GetAliasOperationCompleted == null))
			{
				this.GetAliasOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetAliasOperationCompleted);
			}
			this.InvokeAsync("GetAlias", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    AliasName}, this.GetAliasOperationCompleted, userState);
		}

		private void OnGetAliasOperationCompleted(object arg)
		{
			if ((this.GetAliasCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.GetAliasCompleted(this, new GetAliasCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetAliases", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public AliasInfoListResult GetAliases(string AuthUserName, string AuthPassword, string DomainName)
		{
			object[] results = this.Invoke("GetAliases", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName});
			return ((AliasInfoListResult)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginGetAliases(string AuthUserName, string AuthPassword, string DomainName, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("GetAliases", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName}, callback, asyncState);
		}

		/// <remarks/>
		public AliasInfoListResult EndGetAliases(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((AliasInfoListResult)(results[0]));
		}

		/// <remarks/>
		public void GetAliasesAsync(string AuthUserName, string AuthPassword, string DomainName)
		{
			this.GetAliasesAsync(AuthUserName, AuthPassword, DomainName, null);
		}

		/// <remarks/>
		public void GetAliasesAsync(string AuthUserName, string AuthPassword, string DomainName, object userState)
		{
			if ((this.GetAliasesOperationCompleted == null))
			{
				this.GetAliasesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetAliasesOperationCompleted);
			}
			this.InvokeAsync("GetAliases", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName}, this.GetAliasesOperationCompleted, userState);
		}

		private void OnGetAliasesOperationCompleted(object arg)
		{
			if ((this.GetAliasesCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.GetAliasesCompleted(this, new GetAliasesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		public new void CancelAsync(object userState)
		{
			base.CancelAsync(userState);
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.SerializableAttribute()]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	[System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://tempuri.org/")]
	public partial class GenericResult
	{

		/// <remarks/>
		public bool Result;

		/// <remarks/>
		public int ResultCode;

		/// <remarks/>
		public string Message;
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.SerializableAttribute()]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	[System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://tempuri.org/")]
	public partial class AliasInfoListResult
	{

		/// <remarks/>
		public bool Result;

		/// <remarks/>
		public int ResultCode;

		/// <remarks/>
		public string Message;

		/// <remarks/>
		[System.Xml.Serialization.XmlArrayItemAttribute(IsNullable = false)]
		public AliasInfo[] AliasInfos;
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.SerializableAttribute()]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	[System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://tempuri.org/")]
	public partial class AliasInfo
	{

		/// <remarks/>
		public string Name;

		/// <remarks/>
		public string[] Addresses;
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.SerializableAttribute()]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	[System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://tempuri.org/")]
	public partial class AliasInfoResult
	{

		/// <remarks/>
		public bool Result;

		/// <remarks/>
		public int ResultCode;

		/// <remarks/>
		public string Message;

		/// <remarks/>
		public AliasInfo AliasInfo;
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	public delegate void AddAliasCompletedEventHandler(object sender, AddAliasCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class AddAliasCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal AddAliasCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
			base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public GenericResult Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((GenericResult)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	public delegate void SetCatchAllCompletedEventHandler(object sender, SetCatchAllCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class SetCatchAllCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal SetCatchAllCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
			base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public GenericResult Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((GenericResult)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	public delegate void UpdateAliasCompletedEventHandler(object sender, UpdateAliasCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class UpdateAliasCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal UpdateAliasCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
			base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public GenericResult Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((GenericResult)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	public delegate void DeleteAliasCompletedEventHandler(object sender, DeleteAliasCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class DeleteAliasCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal DeleteAliasCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
			base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public GenericResult Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((GenericResult)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	public delegate void GetAliasCompletedEventHandler(object sender, GetAliasCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class GetAliasCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal GetAliasCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
			base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public AliasInfoResult Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((AliasInfoResult)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	public delegate void GetAliasesCompletedEventHandler(object sender, GetAliasesCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class GetAliasesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal GetAliasesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
			base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public AliasInfoListResult Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((AliasInfoListResult)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	[System.Web.Services.WebServiceBindingAttribute(Name = "svcDomainAliasAdminSoap", Namespace = "http://tempuri.org/")]
	public partial class svcDomainAliasAdmin : System.Web.Services.Protocols.SoapHttpClientProtocol
	{

		private System.Threading.SendOrPostCallback AddDomainAliasWithoutMxCheckOperationCompleted;

		private System.Threading.SendOrPostCallback AddDomainAliasOperationCompleted;

		private System.Threading.SendOrPostCallback DeleteDomainAliasOperationCompleted;

		private System.Threading.SendOrPostCallback GetAliasesOperationCompleted;

		/// <remarks/>
		public svcDomainAliasAdmin()
		{
			this.Url = "http://localhost:9998/Services/svcDomainAliasAdmin.asmx";
		}

		/// <remarks/>
		public event AddDomainAliasWithoutMxCheckCompletedEventHandler AddDomainAliasWithoutMxCheckCompleted;

		/// <remarks/>
		public event AddDomainAliasCompletedEventHandler AddDomainAliasCompleted;

		/// <remarks/>
		public event DeleteDomainAliasCompletedEventHandler DeleteDomainAliasCompleted;

		/// <remarks/>
		public event GetAliasesCompletedEventHandler GetAliasesCompleted;

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/AddDomainAliasWithoutMxCheck", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public GenericResult AddDomainAliasWithoutMxCheck(string AuthUserName, string AuthPassword, string DomainName, string DomainAliasName)
		{
			object[] results = this.Invoke("AddDomainAliasWithoutMxCheck", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    DomainAliasName});
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginAddDomainAliasWithoutMxCheck(string AuthUserName, string AuthPassword, string DomainName, string DomainAliasName, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("AddDomainAliasWithoutMxCheck", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    DomainAliasName}, callback, asyncState);
		}

		/// <remarks/>
		public GenericResult EndAddDomainAliasWithoutMxCheck(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public void AddDomainAliasWithoutMxCheckAsync(string AuthUserName, string AuthPassword, string DomainName, string DomainAliasName)
		{
			this.AddDomainAliasWithoutMxCheckAsync(AuthUserName, AuthPassword, DomainName, DomainAliasName, null);
		}

		/// <remarks/>
		public void AddDomainAliasWithoutMxCheckAsync(string AuthUserName, string AuthPassword, string DomainName, string DomainAliasName, object userState)
		{
			if ((this.AddDomainAliasWithoutMxCheckOperationCompleted == null))
			{
				this.AddDomainAliasWithoutMxCheckOperationCompleted = new System.Threading.SendOrPostCallback(this.OnAddDomainAliasWithoutMxCheckOperationCompleted);
			}
			this.InvokeAsync("AddDomainAliasWithoutMxCheck", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    DomainAliasName}, this.AddDomainAliasWithoutMxCheckOperationCompleted, userState);
		}

		private void OnAddDomainAliasWithoutMxCheckOperationCompleted(object arg)
		{
			if ((this.AddDomainAliasWithoutMxCheckCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.AddDomainAliasWithoutMxCheckCompleted(this, new AddDomainAliasWithoutMxCheckCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/AddDomainAlias", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public GenericResult AddDomainAlias(string AuthUserName, string AuthPassword, string DomainName, string DomainAliasName)
		{
			object[] results = this.Invoke("AddDomainAlias", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    DomainAliasName});
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginAddDomainAlias(string AuthUserName, string AuthPassword, string DomainName, string DomainAliasName, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("AddDomainAlias", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    DomainAliasName}, callback, asyncState);
		}

		/// <remarks/>
		public GenericResult EndAddDomainAlias(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public void AddDomainAliasAsync(string AuthUserName, string AuthPassword, string DomainName, string DomainAliasName)
		{
			this.AddDomainAliasAsync(AuthUserName, AuthPassword, DomainName, DomainAliasName, null);
		}

		/// <remarks/>
		public void AddDomainAliasAsync(string AuthUserName, string AuthPassword, string DomainName, string DomainAliasName, object userState)
		{
			if ((this.AddDomainAliasOperationCompleted == null))
			{
				this.AddDomainAliasOperationCompleted = new System.Threading.SendOrPostCallback(this.OnAddDomainAliasOperationCompleted);
			}
			this.InvokeAsync("AddDomainAlias", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    DomainAliasName}, this.AddDomainAliasOperationCompleted, userState);
		}

		private void OnAddDomainAliasOperationCompleted(object arg)
		{
			if ((this.AddDomainAliasCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.AddDomainAliasCompleted(this, new AddDomainAliasCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/DeleteDomainAlias", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public GenericResult DeleteDomainAlias(string AuthUserName, string AuthPassword, string DomainName, string DomainAliasName)
		{
			object[] results = this.Invoke("DeleteDomainAlias", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    DomainAliasName});
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginDeleteDomainAlias(string AuthUserName, string AuthPassword, string DomainName, string DomainAliasName, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("DeleteDomainAlias", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    DomainAliasName}, callback, asyncState);
		}

		/// <remarks/>
		public GenericResult EndDeleteDomainAlias(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public void DeleteDomainAliasAsync(string AuthUserName, string AuthPassword, string DomainName, string DomainAliasName)
		{
			this.DeleteDomainAliasAsync(AuthUserName, AuthPassword, DomainName, DomainAliasName, null);
		}

		/// <remarks/>
		public void DeleteDomainAliasAsync(string AuthUserName, string AuthPassword, string DomainName, string DomainAliasName, object userState)
		{
			if ((this.DeleteDomainAliasOperationCompleted == null))
			{
				this.DeleteDomainAliasOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteDomainAliasOperationCompleted);
			}
			this.InvokeAsync("DeleteDomainAlias", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    DomainAliasName}, this.DeleteDomainAliasOperationCompleted, userState);
		}

		private void OnDeleteDomainAliasOperationCompleted(object arg)
		{
			if ((this.DeleteDomainAliasCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.DeleteDomainAliasCompleted(this, new DeleteDomainAliasCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetAliases", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public DomainAliasInfoListResult GetAliases(string AuthUserName, string AuthPassword, string DomainName)
		{
			object[] results = this.Invoke("GetAliases", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName});
			return ((DomainAliasInfoListResult)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginGetAliases(string AuthUserName, string AuthPassword, string DomainName, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("GetAliases", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName}, callback, asyncState);
		}

		/// <remarks/>
		public DomainAliasInfoListResult EndGetAliases(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((DomainAliasInfoListResult)(results[0]));
		}

		/// <remarks/>
		public void GetAliasesAsync(string AuthUserName, string AuthPassword, string DomainName)
		{
			this.GetAliasesAsync(AuthUserName, AuthPassword, DomainName, null);
		}

		/// <remarks/>
		public void GetAliasesAsync(string AuthUserName, string AuthPassword, string DomainName, object userState)
		{
			if ((this.GetAliasesOperationCompleted == null))
			{
				this.GetAliasesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetAliasesOperationCompleted);
			}
			this.InvokeAsync("GetAliases", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName}, this.GetAliasesOperationCompleted, userState);
		}

		private void OnGetAliasesOperationCompleted(object arg)
		{
			if ((this.GetAliasesCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.GetAliasesCompleted(this, new GetAliasesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		public new void CancelAsync(object userState)
		{
			base.CancelAsync(userState);
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.SerializableAttribute()]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	[System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://tempuri.org/")]
	public partial class DomainAliasInfoListResult
	{

		/// <remarks/>
		public bool Result;

		/// <remarks/>
		public int ResultCode;

		/// <remarks/>
		public string Message;

		/// <remarks/>
		public string[] DomainAliasNames;
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	public delegate void AddDomainAliasWithoutMxCheckCompletedEventHandler(object sender, AddDomainAliasWithoutMxCheckCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class AddDomainAliasWithoutMxCheckCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal AddDomainAliasWithoutMxCheckCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
			base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public GenericResult Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((GenericResult)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	public delegate void AddDomainAliasCompletedEventHandler(object sender, AddDomainAliasCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class AddDomainAliasCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal AddDomainAliasCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
			base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public GenericResult Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((GenericResult)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	public delegate void DeleteDomainAliasCompletedEventHandler(object sender, DeleteDomainAliasCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class DeleteDomainAliasCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal DeleteDomainAliasCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
			base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public GenericResult Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((GenericResult)(this.results[0]));
			}
		}
	}

	
	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	[System.Web.Services.WebServiceBindingAttribute(Name = "svcDomainAdminSoap", Namespace = "http://tempuri.org/")]
	public partial class svcDomainAdmin : System.Web.Services.Protocols.SoapHttpClientProtocol
	{

		private System.Threading.SendOrPostCallback AddDomainOperationCompleted;

		private System.Threading.SendOrPostCallback UpdateDomainNameAndPathOperationCompleted;

		private System.Threading.SendOrPostCallback RenameDomainOperationCompleted;

		private System.Threading.SendOrPostCallback ReloadDomainOperationCompleted;

		private System.Threading.SendOrPostCallback UpdateDomainOperationCompleted;

		private System.Threading.SendOrPostCallback GetRequestedDomainDefaultsOperationCompleted;

		private System.Threading.SendOrPostCallback GetRequestedDomainSettingsOperationCompleted;

		private System.Threading.SendOrPostCallback SetRequestedDomainDefaultsOperationCompleted;

		private System.Threading.SendOrPostCallback SetRequestedDomainSettingsOperationCompleted;

		private System.Threading.SendOrPostCallback DeleteDomainOperationCompleted;

		private System.Threading.SendOrPostCallback GetAllDomainsOperationCompleted;

		private System.Threading.SendOrPostCallback GetDomainStatisticsOperationCompleted;

		private System.Threading.SendOrPostCallback GetAllDomainStatisticsOperationCompleted;

		private System.Threading.SendOrPostCallback GetPrimaryDomainAdminOperationCompleted;

		private System.Threading.SendOrPostCallback SetPrimaryDomainAdminOperationCompleted;

		private System.Threading.SendOrPostCallback GetDomainDefaultsOperationCompleted;

		private System.Threading.SendOrPostCallback DisableDomainOperationCompleted;

		private System.Threading.SendOrPostCallback EnableDomainOperationCompleted;

		private System.Threading.SendOrPostCallback GetDomainInfoOperationCompleted;

		private System.Threading.SendOrPostCallback GetDomainSettingsOperationCompleted;

		private System.Threading.SendOrPostCallback GetDomainForwardingOperationCompleted;

		private System.Threading.SendOrPostCallback GetDomainForwardingBlockOperationCompleted;

		private System.Threading.SendOrPostCallback GetDomainForwardingBlockByTargetAddressOperationCompleted;

		private System.Threading.SendOrPostCallback SetDomainForwardingBlockOperationCompleted;

		private System.Threading.SendOrPostCallback SetDomainForwardingBlockByTargetAddressOperationCompleted;

		private System.Threading.SendOrPostCallback AddDomainForwardingBlockOperationCompleted;

		private System.Threading.SendOrPostCallback DeleteDomainForwardingBlockOperationCompleted;

		private System.Threading.SendOrPostCallback DeleteDomainForwardBlockByTargetAddressOperationCompleted;

		/// <remarks/>
		public svcDomainAdmin()
		{
			this.Url = "http://localhost:9998/Services/svcDomainAdmin.asmx";
		}

		/// <remarks/>
		public event AddDomainCompletedEventHandler AddDomainCompleted;

		/// <remarks/>
		public event UpdateDomainNameAndPathCompletedEventHandler UpdateDomainNameAndPathCompleted;

		/// <remarks/>
		public event RenameDomainCompletedEventHandler RenameDomainCompleted;

		/// <remarks/>
		public event ReloadDomainCompletedEventHandler ReloadDomainCompleted;

		/// <remarks/>
		public event UpdateDomainCompletedEventHandler UpdateDomainCompleted;

		/// <remarks/>
		public event GetRequestedDomainDefaultsCompletedEventHandler GetRequestedDomainDefaultsCompleted;

		/// <remarks/>
		public event GetRequestedDomainSettingsCompletedEventHandler GetRequestedDomainSettingsCompleted;

		/// <remarks/>
		public event SetRequestedDomainDefaultsCompletedEventHandler SetRequestedDomainDefaultsCompleted;

		/// <remarks/>
		public event SetRequestedDomainSettingsCompletedEventHandler SetRequestedDomainSettingsCompleted;

		/// <remarks/>
		public event DeleteDomainCompletedEventHandler DeleteDomainCompleted;

		/// <remarks/>
		public event GetAllDomainsCompletedEventHandler GetAllDomainsCompleted;

		/// <remarks/>
		public event GetDomainStatisticsCompletedEventHandler GetDomainStatisticsCompleted;

		/// <remarks/>
		public event GetAllDomainStatisticsCompletedEventHandler GetAllDomainStatisticsCompleted;

		/// <remarks/>
		public event GetPrimaryDomainAdminCompletedEventHandler GetPrimaryDomainAdminCompleted;

		/// <remarks/>
		public event SetPrimaryDomainAdminCompletedEventHandler SetPrimaryDomainAdminCompleted;

		/// <remarks/>
		public event GetDomainDefaultsCompletedEventHandler GetDomainDefaultsCompleted;

		/// <remarks/>
		public event DisableDomainCompletedEventHandler DisableDomainCompleted;

		/// <remarks/>
		public event EnableDomainCompletedEventHandler EnableDomainCompleted;

		/// <remarks/>
		public event GetDomainInfoCompletedEventHandler GetDomainInfoCompleted;

		/// <remarks/>
		public event GetDomainSettingsCompletedEventHandler GetDomainSettingsCompleted;

		/// <remarks/>
		public event GetDomainForwardingCompletedEventHandler GetDomainForwardingCompleted;

		/// <remarks/>
		public event GetDomainForwardingBlockCompletedEventHandler GetDomainForwardingBlockCompleted;

		/// <remarks/>
		public event GetDomainForwardingBlockByTargetAddressCompletedEventHandler GetDomainForwardingBlockByTargetAddressCompleted;

		/// <remarks/>
		public event SetDomainForwardingBlockCompletedEventHandler SetDomainForwardingBlockCompleted;

		/// <remarks/>
		public event SetDomainForwardingBlockByTargetAddressCompletedEventHandler SetDomainForwardingBlockByTargetAddressCompleted;

		/// <remarks/>
		public event AddDomainForwardingBlockCompletedEventHandler AddDomainForwardingBlockCompleted;

		/// <remarks/>
		public event DeleteDomainForwardingBlockCompletedEventHandler DeleteDomainForwardingBlockCompleted;

		/// <remarks/>
		public event DeleteDomainForwardBlockByTargetAddressCompletedEventHandler DeleteDomainForwardBlockByTargetAddressCompleted;

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/AddDomain", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public GenericResult AddDomain(
					string AuthUserName,
					string AuthPassword,
					string DomainName,
					string Path,
					string PrimaryDomainAdminUserName,
					string PrimaryDomainAdminPassword,
					string PrimaryDomainAdminFirstName,
					string PrimaryDomainAdminLastName,
					string IP,
					int ImapPort,
					int PopPort,
					int SmtpPort,
					int MaxAliases,
					int MaxDomainSizeInMB,
					int MaxDomainUsers,
					int MaxMailboxSizeInMB,
					int MaxMessageSize,
					int MaxRecipients,
					int MaxDomainAliases,
					int MaxLists,
					bool ShowDomainAliasMenu,
					bool ShowContentFilteringMenu,
					bool ShowSpamMenu,
					bool ShowStatsMenu,
					bool RequireSmtpAuthentication,
					bool ShowListMenu,
					string ListCommandAddress)
		{
			object[] results = this.Invoke("AddDomain", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    Path,
                    PrimaryDomainAdminUserName,
                    PrimaryDomainAdminPassword,
                    PrimaryDomainAdminFirstName,
                    PrimaryDomainAdminLastName,
                    IP,
                    ImapPort,
                    PopPort,
                    SmtpPort,
                    MaxAliases,
                    MaxDomainSizeInMB,
                    MaxDomainUsers,
                    MaxMailboxSizeInMB,
                    MaxMessageSize,
                    MaxRecipients,
                    MaxDomainAliases,
                    MaxLists,
                    ShowDomainAliasMenu,
                    ShowContentFilteringMenu,
                    ShowSpamMenu,
                    ShowStatsMenu,
                    RequireSmtpAuthentication,
                    ShowListMenu,
                    ListCommandAddress});
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginAddDomain(
					string AuthUserName,
					string AuthPassword,
					string DomainName,
					string Path,
					string PrimaryDomainAdminUserName,
					string PrimaryDomainAdminPassword,
					string PrimaryDomainAdminFirstName,
					string PrimaryDomainAdminLastName,
					string IP,
					int ImapPort,
					int PopPort,
					int SmtpPort,
					int MaxAliases,
					int MaxDomainSizeInMB,
					int MaxDomainUsers,
					int MaxMailboxSizeInMB,
					int MaxMessageSize,
					int MaxRecipients,
					int MaxDomainAliases,
					int MaxLists,
					bool ShowDomainAliasMenu,
					bool ShowContentFilteringMenu,
					bool ShowSpamMenu,
					bool ShowStatsMenu,
					bool RequireSmtpAuthentication,
					bool ShowListMenu,
					string ListCommandAddress,
					System.AsyncCallback callback,
					object asyncState)
		{
			return this.BeginInvoke("AddDomain", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    Path,
                    PrimaryDomainAdminUserName,
                    PrimaryDomainAdminPassword,
                    PrimaryDomainAdminFirstName,
                    PrimaryDomainAdminLastName,
                    IP,
                    ImapPort,
                    PopPort,
                    SmtpPort,
                    MaxAliases,
                    MaxDomainSizeInMB,
                    MaxDomainUsers,
                    MaxMailboxSizeInMB,
                    MaxMessageSize,
                    MaxRecipients,
                    MaxDomainAliases,
                    MaxLists,
                    ShowDomainAliasMenu,
                    ShowContentFilteringMenu,
                    ShowSpamMenu,
                    ShowStatsMenu,
                    RequireSmtpAuthentication,
                    ShowListMenu,
                    ListCommandAddress}, callback, asyncState);
		}

		/// <remarks/>
		public GenericResult EndAddDomain(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public void AddDomainAsync(
					string AuthUserName,
					string AuthPassword,
					string DomainName,
					string Path,
					string PrimaryDomainAdminUserName,
					string PrimaryDomainAdminPassword,
					string PrimaryDomainAdminFirstName,
					string PrimaryDomainAdminLastName,
					string IP,
					int ImapPort,
					int PopPort,
					int SmtpPort,
					int MaxAliases,
					int MaxDomainSizeInMB,
					int MaxDomainUsers,
					int MaxMailboxSizeInMB,
					int MaxMessageSize,
					int MaxRecipients,
					int MaxDomainAliases,
					int MaxLists,
					bool ShowDomainAliasMenu,
					bool ShowContentFilteringMenu,
					bool ShowSpamMenu,
					bool ShowStatsMenu,
					bool RequireSmtpAuthentication,
					bool ShowListMenu,
					string ListCommandAddress)
		{
			this.AddDomainAsync(AuthUserName, AuthPassword, DomainName, Path, PrimaryDomainAdminUserName, PrimaryDomainAdminPassword, PrimaryDomainAdminFirstName, PrimaryDomainAdminLastName, IP, ImapPort, PopPort, SmtpPort, MaxAliases, MaxDomainSizeInMB, MaxDomainUsers, MaxMailboxSizeInMB, MaxMessageSize, MaxRecipients, MaxDomainAliases, MaxLists, ShowDomainAliasMenu, ShowContentFilteringMenu, ShowSpamMenu, ShowStatsMenu, RequireSmtpAuthentication, ShowListMenu, ListCommandAddress, null);
		}

		/// <remarks/>
		public void AddDomainAsync(
					string AuthUserName,
					string AuthPassword,
					string DomainName,
					string Path,
					string PrimaryDomainAdminUserName,
					string PrimaryDomainAdminPassword,
					string PrimaryDomainAdminFirstName,
					string PrimaryDomainAdminLastName,
					string IP,
					int ImapPort,
					int PopPort,
					int SmtpPort,
					int MaxAliases,
					int MaxDomainSizeInMB,
					int MaxDomainUsers,
					int MaxMailboxSizeInMB,
					int MaxMessageSize,
					int MaxRecipients,
					int MaxDomainAliases,
					int MaxLists,
					bool ShowDomainAliasMenu,
					bool ShowContentFilteringMenu,
					bool ShowSpamMenu,
					bool ShowStatsMenu,
					bool RequireSmtpAuthentication,
					bool ShowListMenu,
					string ListCommandAddress,
					object userState)
		{
			if ((this.AddDomainOperationCompleted == null))
			{
				this.AddDomainOperationCompleted = new System.Threading.SendOrPostCallback(this.OnAddDomainOperationCompleted);
			}
			this.InvokeAsync("AddDomain", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    Path,
                    PrimaryDomainAdminUserName,
                    PrimaryDomainAdminPassword,
                    PrimaryDomainAdminFirstName,
                    PrimaryDomainAdminLastName,
                    IP,
                    ImapPort,
                    PopPort,
                    SmtpPort,
                    MaxAliases,
                    MaxDomainSizeInMB,
                    MaxDomainUsers,
                    MaxMailboxSizeInMB,
                    MaxMessageSize,
                    MaxRecipients,
                    MaxDomainAliases,
                    MaxLists,
                    ShowDomainAliasMenu,
                    ShowContentFilteringMenu,
                    ShowSpamMenu,
                    ShowStatsMenu,
                    RequireSmtpAuthentication,
                    ShowListMenu,
                    ListCommandAddress}, this.AddDomainOperationCompleted, userState);
		}

		private void OnAddDomainOperationCompleted(object arg)
		{
			if ((this.AddDomainCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.AddDomainCompleted(this, new AddDomainCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/UpdateDomainNameAndPath", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public GenericResult UpdateDomainNameAndPath(string AuthUserName, string AuthPassword, string OldDomainName, string NewDomainName, string NewDomainPath)
		{
			object[] results = this.Invoke("UpdateDomainNameAndPath", new object[] {
                    AuthUserName,
                    AuthPassword,
                    OldDomainName,
                    NewDomainName,
                    NewDomainPath});
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginUpdateDomainNameAndPath(string AuthUserName, string AuthPassword, string OldDomainName, string NewDomainName, string NewDomainPath, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("UpdateDomainNameAndPath", new object[] {
                    AuthUserName,
                    AuthPassword,
                    OldDomainName,
                    NewDomainName,
                    NewDomainPath}, callback, asyncState);
		}

		/// <remarks/>
		public GenericResult EndUpdateDomainNameAndPath(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public void UpdateDomainNameAndPathAsync(string AuthUserName, string AuthPassword, string OldDomainName, string NewDomainName, string NewDomainPath)
		{
			this.UpdateDomainNameAndPathAsync(AuthUserName, AuthPassword, OldDomainName, NewDomainName, NewDomainPath, null);
		}

		/// <remarks/>
		public void UpdateDomainNameAndPathAsync(string AuthUserName, string AuthPassword, string OldDomainName, string NewDomainName, string NewDomainPath, object userState)
		{
			if ((this.UpdateDomainNameAndPathOperationCompleted == null))
			{
				this.UpdateDomainNameAndPathOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUpdateDomainNameAndPathOperationCompleted);
			}
			this.InvokeAsync("UpdateDomainNameAndPath", new object[] {
                    AuthUserName,
                    AuthPassword,
                    OldDomainName,
                    NewDomainName,
                    NewDomainPath}, this.UpdateDomainNameAndPathOperationCompleted, userState);
		}

		private void OnUpdateDomainNameAndPathOperationCompleted(object arg)
		{
			if ((this.UpdateDomainNameAndPathCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.UpdateDomainNameAndPathCompleted(this, new UpdateDomainNameAndPathCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/RenameDomain", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public GenericResult RenameDomain(string AuthUserName, string AuthPassword, string OldDomainName, string NewDomainName)
		{
			object[] results = this.Invoke("RenameDomain", new object[] {
                    AuthUserName,
                    AuthPassword,
                    OldDomainName,
                    NewDomainName});
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginRenameDomain(string AuthUserName, string AuthPassword, string OldDomainName, string NewDomainName, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("RenameDomain", new object[] {
                    AuthUserName,
                    AuthPassword,
                    OldDomainName,
                    NewDomainName}, callback, asyncState);
		}

		/// <remarks/>
		public GenericResult EndRenameDomain(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public void RenameDomainAsync(string AuthUserName, string AuthPassword, string OldDomainName, string NewDomainName)
		{
			this.RenameDomainAsync(AuthUserName, AuthPassword, OldDomainName, NewDomainName, null);
		}

		/// <remarks/>
		public void RenameDomainAsync(string AuthUserName, string AuthPassword, string OldDomainName, string NewDomainName, object userState)
		{
			if ((this.RenameDomainOperationCompleted == null))
			{
				this.RenameDomainOperationCompleted = new System.Threading.SendOrPostCallback(this.OnRenameDomainOperationCompleted);
			}
			this.InvokeAsync("RenameDomain", new object[] {
                    AuthUserName,
                    AuthPassword,
                    OldDomainName,
                    NewDomainName}, this.RenameDomainOperationCompleted, userState);
		}

		private void OnRenameDomainOperationCompleted(object arg)
		{
			if ((this.RenameDomainCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.RenameDomainCompleted(this, new RenameDomainCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/ReloadDomain", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public GenericResult ReloadDomain(string AuthUserName, string AuthPassword, string DomainName)
		{
			object[] results = this.Invoke("ReloadDomain", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName});
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginReloadDomain(string AuthUserName, string AuthPassword, string DomainName, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("ReloadDomain", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName}, callback, asyncState);
		}

		/// <remarks/>
		public GenericResult EndReloadDomain(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public void ReloadDomainAsync(string AuthUserName, string AuthPassword, string DomainName)
		{
			this.ReloadDomainAsync(AuthUserName, AuthPassword, DomainName, null);
		}

		/// <remarks/>
		public void ReloadDomainAsync(string AuthUserName, string AuthPassword, string DomainName, object userState)
		{
			if ((this.ReloadDomainOperationCompleted == null))
			{
				this.ReloadDomainOperationCompleted = new System.Threading.SendOrPostCallback(this.OnReloadDomainOperationCompleted);
			}
			this.InvokeAsync("ReloadDomain", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName}, this.ReloadDomainOperationCompleted, userState);
		}

		private void OnReloadDomainOperationCompleted(object arg)
		{
			if ((this.ReloadDomainCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.ReloadDomainCompleted(this, new ReloadDomainCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/UpdateDomain", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public GenericResult UpdateDomain(
					string AuthUserName,
					string AuthPassword,
					string DomainName,
					string ServerIP,
					int ImapPort,
					int PopPort,
					int SmtpPort,
					int MaxAliases,
					int MaxDomainSizeInMB,
					int MaxDomainUsers,
					int MaxMailboxSizeInMB,
					int MaxMessageSize,
					int MaxRecipients,
					int MaxDomainAliases,
					int MaxLists,
					bool ShowDomainAliasMenu,
					bool ShowContentFilteringMenu,
					bool ShowSpamMenu,
					bool ShowStatsMenu,
					bool RequireSmtpAuthentication,
					bool ShowListMenu,
					string ListCommandAddress)
		{
			object[] results = this.Invoke("UpdateDomain", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    ServerIP,
                    ImapPort,
                    PopPort,
                    SmtpPort,
                    MaxAliases,
                    MaxDomainSizeInMB,
                    MaxDomainUsers,
                    MaxMailboxSizeInMB,
                    MaxMessageSize,
                    MaxRecipients,
                    MaxDomainAliases,
                    MaxLists,
                    ShowDomainAliasMenu,
                    ShowContentFilteringMenu,
                    ShowSpamMenu,
                    ShowStatsMenu,
                    RequireSmtpAuthentication,
                    ShowListMenu,
                    ListCommandAddress});
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginUpdateDomain(
					string AuthUserName,
					string AuthPassword,
					string DomainName,
					string ServerIP,
					int ImapPort,
					int PopPort,
					int SmtpPort,
					int MaxAliases,
					int MaxDomainSizeInMB,
					int MaxDomainUsers,
					int MaxMailboxSizeInMB,
					int MaxMessageSize,
					int MaxRecipients,
					int MaxDomainAliases,
					int MaxLists,
					bool ShowDomainAliasMenu,
					bool ShowContentFilteringMenu,
					bool ShowSpamMenu,
					bool ShowStatsMenu,
					bool RequireSmtpAuthentication,
					bool ShowListMenu,
					string ListCommandAddress,
					System.AsyncCallback callback,
					object asyncState)
		{
			return this.BeginInvoke("UpdateDomain", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    ServerIP,
                    ImapPort,
                    PopPort,
                    SmtpPort,
                    MaxAliases,
                    MaxDomainSizeInMB,
                    MaxDomainUsers,
                    MaxMailboxSizeInMB,
                    MaxMessageSize,
                    MaxRecipients,
                    MaxDomainAliases,
                    MaxLists,
                    ShowDomainAliasMenu,
                    ShowContentFilteringMenu,
                    ShowSpamMenu,
                    ShowStatsMenu,
                    RequireSmtpAuthentication,
                    ShowListMenu,
                    ListCommandAddress}, callback, asyncState);
		}

		/// <remarks/>
		public GenericResult EndUpdateDomain(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public void UpdateDomainAsync(
					string AuthUserName,
					string AuthPassword,
					string DomainName,
					string ServerIP,
					int ImapPort,
					int PopPort,
					int SmtpPort,
					int MaxAliases,
					int MaxDomainSizeInMB,
					int MaxDomainUsers,
					int MaxMailboxSizeInMB,
					int MaxMessageSize,
					int MaxRecipients,
					int MaxDomainAliases,
					int MaxLists,
					bool ShowDomainAliasMenu,
					bool ShowContentFilteringMenu,
					bool ShowSpamMenu,
					bool ShowStatsMenu,
					bool RequireSmtpAuthentication,
					bool ShowListMenu,
					string ListCommandAddress)
		{
			this.UpdateDomainAsync(AuthUserName, AuthPassword, DomainName, ServerIP, ImapPort, PopPort, SmtpPort, MaxAliases, MaxDomainSizeInMB, MaxDomainUsers, MaxMailboxSizeInMB, MaxMessageSize, MaxRecipients, MaxDomainAliases, MaxLists, ShowDomainAliasMenu, ShowContentFilteringMenu, ShowSpamMenu, ShowStatsMenu, RequireSmtpAuthentication, ShowListMenu, ListCommandAddress, null);
		}

		/// <remarks/>
		public void UpdateDomainAsync(
					string AuthUserName,
					string AuthPassword,
					string DomainName,
					string ServerIP,
					int ImapPort,
					int PopPort,
					int SmtpPort,
					int MaxAliases,
					int MaxDomainSizeInMB,
					int MaxDomainUsers,
					int MaxMailboxSizeInMB,
					int MaxMessageSize,
					int MaxRecipients,
					int MaxDomainAliases,
					int MaxLists,
					bool ShowDomainAliasMenu,
					bool ShowContentFilteringMenu,
					bool ShowSpamMenu,
					bool ShowStatsMenu,
					bool RequireSmtpAuthentication,
					bool ShowListMenu,
					string ListCommandAddress,
					object userState)
		{
			if ((this.UpdateDomainOperationCompleted == null))
			{
				this.UpdateDomainOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUpdateDomainOperationCompleted);
			}
			this.InvokeAsync("UpdateDomain", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    ServerIP,
                    ImapPort,
                    PopPort,
                    SmtpPort,
                    MaxAliases,
                    MaxDomainSizeInMB,
                    MaxDomainUsers,
                    MaxMailboxSizeInMB,
                    MaxMessageSize,
                    MaxRecipients,
                    MaxDomainAliases,
                    MaxLists,
                    ShowDomainAliasMenu,
                    ShowContentFilteringMenu,
                    ShowSpamMenu,
                    ShowStatsMenu,
                    RequireSmtpAuthentication,
                    ShowListMenu,
                    ListCommandAddress}, this.UpdateDomainOperationCompleted, userState);
		}

		private void OnUpdateDomainOperationCompleted(object arg)
		{
			if ((this.UpdateDomainCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.UpdateDomainCompleted(this, new UpdateDomainCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetRequestedDomainDefaults", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public SettingsRequestResult GetRequestedDomainDefaults(string AuthUserName, string AuthPassword, string[] requestedSettings)
		{
			object[] results = this.Invoke("GetRequestedDomainDefaults", new object[] {
                    AuthUserName,
                    AuthPassword,
                    requestedSettings});
			return ((SettingsRequestResult)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginGetRequestedDomainDefaults(string AuthUserName, string AuthPassword, string[] requestedSettings, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("GetRequestedDomainDefaults", new object[] {
                    AuthUserName,
                    AuthPassword,
                    requestedSettings}, callback, asyncState);
		}

		/// <remarks/>
		public SettingsRequestResult EndGetRequestedDomainDefaults(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((SettingsRequestResult)(results[0]));
		}

		/// <remarks/>
		public void GetRequestedDomainDefaultsAsync(string AuthUserName, string AuthPassword, string[] requestedSettings)
		{
			this.GetRequestedDomainDefaultsAsync(AuthUserName, AuthPassword, requestedSettings, null);
		}

		/// <remarks/>
		public void GetRequestedDomainDefaultsAsync(string AuthUserName, string AuthPassword, string[] requestedSettings, object userState)
		{
			if ((this.GetRequestedDomainDefaultsOperationCompleted == null))
			{
				this.GetRequestedDomainDefaultsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetRequestedDomainDefaultsOperationCompleted);
			}
			this.InvokeAsync("GetRequestedDomainDefaults", new object[] {
                    AuthUserName,
                    AuthPassword,
                    requestedSettings}, this.GetRequestedDomainDefaultsOperationCompleted, userState);
		}

		private void OnGetRequestedDomainDefaultsOperationCompleted(object arg)
		{
			if ((this.GetRequestedDomainDefaultsCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.GetRequestedDomainDefaultsCompleted(this, new GetRequestedDomainDefaultsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetRequestedDomainSettings", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public SettingsRequestResult GetRequestedDomainSettings(string AuthUserName, string AuthPassword, string DomainName, string[] requestedSettings)
		{
			object[] results = this.Invoke("GetRequestedDomainSettings", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    requestedSettings});
			return ((SettingsRequestResult)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginGetRequestedDomainSettings(string AuthUserName, string AuthPassword, string DomainName, string[] requestedSettings, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("GetRequestedDomainSettings", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    requestedSettings}, callback, asyncState);
		}

		/// <remarks/>
		public SettingsRequestResult EndGetRequestedDomainSettings(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((SettingsRequestResult)(results[0]));
		}

		/// <remarks/>
		public void GetRequestedDomainSettingsAsync(string AuthUserName, string AuthPassword, string DomainName, string[] requestedSettings)
		{
			this.GetRequestedDomainSettingsAsync(AuthUserName, AuthPassword, DomainName, requestedSettings, null);
		}

		/// <remarks/>
		public void GetRequestedDomainSettingsAsync(string AuthUserName, string AuthPassword, string DomainName, string[] requestedSettings, object userState)
		{
			if ((this.GetRequestedDomainSettingsOperationCompleted == null))
			{
				this.GetRequestedDomainSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetRequestedDomainSettingsOperationCompleted);
			}
			this.InvokeAsync("GetRequestedDomainSettings", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    requestedSettings}, this.GetRequestedDomainSettingsOperationCompleted, userState);
		}

		private void OnGetRequestedDomainSettingsOperationCompleted(object arg)
		{
			if ((this.GetRequestedDomainSettingsCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.GetRequestedDomainSettingsCompleted(this, new GetRequestedDomainSettingsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/SetRequestedDomainDefaults", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public GenericResult SetRequestedDomainDefaults(string AuthUserName, string AuthPassword, string[] newSettings)
		{
			object[] results = this.Invoke("SetRequestedDomainDefaults", new object[] {
                    AuthUserName,
                    AuthPassword,
                    newSettings});
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginSetRequestedDomainDefaults(string AuthUserName, string AuthPassword, string[] newSettings, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("SetRequestedDomainDefaults", new object[] {
                    AuthUserName,
                    AuthPassword,
                    newSettings}, callback, asyncState);
		}

		/// <remarks/>
		public GenericResult EndSetRequestedDomainDefaults(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public void SetRequestedDomainDefaultsAsync(string AuthUserName, string AuthPassword, string[] newSettings)
		{
			this.SetRequestedDomainDefaultsAsync(AuthUserName, AuthPassword, newSettings, null);
		}

		/// <remarks/>
		public void SetRequestedDomainDefaultsAsync(string AuthUserName, string AuthPassword, string[] newSettings, object userState)
		{
			if ((this.SetRequestedDomainDefaultsOperationCompleted == null))
			{
				this.SetRequestedDomainDefaultsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetRequestedDomainDefaultsOperationCompleted);
			}
			this.InvokeAsync("SetRequestedDomainDefaults", new object[] {
                    AuthUserName,
                    AuthPassword,
                    newSettings}, this.SetRequestedDomainDefaultsOperationCompleted, userState);
		}

		private void OnSetRequestedDomainDefaultsOperationCompleted(object arg)
		{
			if ((this.SetRequestedDomainDefaultsCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.SetRequestedDomainDefaultsCompleted(this, new SetRequestedDomainDefaultsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/SetRequestedDomainSettings", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public GenericResult SetRequestedDomainSettings(string AuthUserName, string AuthPassword, string DomainName, string[] newSettings)
		{
			object[] results = this.Invoke("SetRequestedDomainSettings", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    newSettings});
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginSetRequestedDomainSettings(string AuthUserName, string AuthPassword, string DomainName, string[] newSettings, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("SetRequestedDomainSettings", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    newSettings}, callback, asyncState);
		}

		/// <remarks/>
		public GenericResult EndSetRequestedDomainSettings(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public void SetRequestedDomainSettingsAsync(string AuthUserName, string AuthPassword, string DomainName, string[] newSettings)
		{
			this.SetRequestedDomainSettingsAsync(AuthUserName, AuthPassword, DomainName, newSettings, null);
		}

		/// <remarks/>
		public void SetRequestedDomainSettingsAsync(string AuthUserName, string AuthPassword, string DomainName, string[] newSettings, object userState)
		{
			if ((this.SetRequestedDomainSettingsOperationCompleted == null))
			{
				this.SetRequestedDomainSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetRequestedDomainSettingsOperationCompleted);
			}
			this.InvokeAsync("SetRequestedDomainSettings", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    newSettings}, this.SetRequestedDomainSettingsOperationCompleted, userState);
		}

		private void OnSetRequestedDomainSettingsOperationCompleted(object arg)
		{
			if ((this.SetRequestedDomainSettingsCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.SetRequestedDomainSettingsCompleted(this, new SetRequestedDomainSettingsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/DeleteDomain", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public GenericResult DeleteDomain(string AuthUserName, string AuthPassword, string DomainName, bool DeleteFiles)
		{
			object[] results = this.Invoke("DeleteDomain", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    DeleteFiles});
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginDeleteDomain(string AuthUserName, string AuthPassword, string DomainName, bool DeleteFiles, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("DeleteDomain", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    DeleteFiles}, callback, asyncState);
		}

		/// <remarks/>
		public GenericResult EndDeleteDomain(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public void DeleteDomainAsync(string AuthUserName, string AuthPassword, string DomainName, bool DeleteFiles)
		{
			this.DeleteDomainAsync(AuthUserName, AuthPassword, DomainName, DeleteFiles, null);
		}

		/// <remarks/>
		public void DeleteDomainAsync(string AuthUserName, string AuthPassword, string DomainName, bool DeleteFiles, object userState)
		{
			if ((this.DeleteDomainOperationCompleted == null))
			{
				this.DeleteDomainOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteDomainOperationCompleted);
			}
			this.InvokeAsync("DeleteDomain", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    DeleteFiles}, this.DeleteDomainOperationCompleted, userState);
		}

		private void OnDeleteDomainOperationCompleted(object arg)
		{
			if ((this.DeleteDomainCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.DeleteDomainCompleted(this, new DeleteDomainCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetAllDomains", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public DomainListResult GetAllDomains(string AuthUserName, string AuthPassword)
		{
			object[] results = this.Invoke("GetAllDomains", new object[] {
                    AuthUserName,
                    AuthPassword});
			return ((DomainListResult)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginGetAllDomains(string AuthUserName, string AuthPassword, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("GetAllDomains", new object[] {
                    AuthUserName,
                    AuthPassword}, callback, asyncState);
		}

		/// <remarks/>
		public DomainListResult EndGetAllDomains(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((DomainListResult)(results[0]));
		}

		/// <remarks/>
		public void GetAllDomainsAsync(string AuthUserName, string AuthPassword)
		{
			this.GetAllDomainsAsync(AuthUserName, AuthPassword, null);
		}

		/// <remarks/>
		public void GetAllDomainsAsync(string AuthUserName, string AuthPassword, object userState)
		{
			if ((this.GetAllDomainsOperationCompleted == null))
			{
				this.GetAllDomainsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetAllDomainsOperationCompleted);
			}
			this.InvokeAsync("GetAllDomains", new object[] {
                    AuthUserName,
                    AuthPassword}, this.GetAllDomainsOperationCompleted, userState);
		}

		private void OnGetAllDomainsOperationCompleted(object arg)
		{
			if ((this.GetAllDomainsCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.GetAllDomainsCompleted(this, new GetAllDomainsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetDomainStatistics", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public StatInfoResult GetDomainStatistics(string AuthUserName, string AuthPassword, string DomainName, System.DateTime StartDate, System.DateTime EndDate)
		{
			object[] results = this.Invoke("GetDomainStatistics", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    StartDate,
                    EndDate});
			return ((StatInfoResult)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginGetDomainStatistics(string AuthUserName, string AuthPassword, string DomainName, System.DateTime StartDate, System.DateTime EndDate, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("GetDomainStatistics", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    StartDate,
                    EndDate}, callback, asyncState);
		}

		/// <remarks/>
		public StatInfoResult EndGetDomainStatistics(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((StatInfoResult)(results[0]));
		}

		/// <remarks/>
		public void GetDomainStatisticsAsync(string AuthUserName, string AuthPassword, string DomainName, System.DateTime StartDate, System.DateTime EndDate)
		{
			this.GetDomainStatisticsAsync(AuthUserName, AuthPassword, DomainName, StartDate, EndDate, null);
		}

		/// <remarks/>
		public void GetDomainStatisticsAsync(string AuthUserName, string AuthPassword, string DomainName, System.DateTime StartDate, System.DateTime EndDate, object userState)
		{
			if ((this.GetDomainStatisticsOperationCompleted == null))
			{
				this.GetDomainStatisticsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetDomainStatisticsOperationCompleted);
			}
			this.InvokeAsync("GetDomainStatistics", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    StartDate,
                    EndDate}, this.GetDomainStatisticsOperationCompleted, userState);
		}

		private void OnGetDomainStatisticsOperationCompleted(object arg)
		{
			if ((this.GetDomainStatisticsCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.GetDomainStatisticsCompleted(this, new GetDomainStatisticsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetAllDomainStatistics", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public AllDomainStatResult GetAllDomainStatistics(string AuthUserName, string AuthPassword, System.DateTime StartDate, System.DateTime EndDate)
		{
			object[] results = this.Invoke("GetAllDomainStatistics", new object[] {
                    AuthUserName,
                    AuthPassword,
                    StartDate,
                    EndDate});
			return ((AllDomainStatResult)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginGetAllDomainStatistics(string AuthUserName, string AuthPassword, System.DateTime StartDate, System.DateTime EndDate, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("GetAllDomainStatistics", new object[] {
                    AuthUserName,
                    AuthPassword,
                    StartDate,
                    EndDate}, callback, asyncState);
		}

		/// <remarks/>
		public AllDomainStatResult EndGetAllDomainStatistics(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((AllDomainStatResult)(results[0]));
		}

		/// <remarks/>
		public void GetAllDomainStatisticsAsync(string AuthUserName, string AuthPassword, System.DateTime StartDate, System.DateTime EndDate)
		{
			this.GetAllDomainStatisticsAsync(AuthUserName, AuthPassword, StartDate, EndDate, null);
		}

		/// <remarks/>
		public void GetAllDomainStatisticsAsync(string AuthUserName, string AuthPassword, System.DateTime StartDate, System.DateTime EndDate, object userState)
		{
			if ((this.GetAllDomainStatisticsOperationCompleted == null))
			{
				this.GetAllDomainStatisticsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetAllDomainStatisticsOperationCompleted);
			}
			this.InvokeAsync("GetAllDomainStatistics", new object[] {
                    AuthUserName,
                    AuthPassword,
                    StartDate,
                    EndDate}, this.GetAllDomainStatisticsOperationCompleted, userState);
		}

		private void OnGetAllDomainStatisticsOperationCompleted(object arg)
		{
			if ((this.GetAllDomainStatisticsCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.GetAllDomainStatisticsCompleted(this, new GetAllDomainStatisticsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetPrimaryDomainAdmin", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public PrimaryDomainAdminResult GetPrimaryDomainAdmin(string AuthUserName, string AuthPassword, string DomainName)
		{
			object[] results = this.Invoke("GetPrimaryDomainAdmin", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName});
			return ((PrimaryDomainAdminResult)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginGetPrimaryDomainAdmin(string AuthUserName, string AuthPassword, string DomainName, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("GetPrimaryDomainAdmin", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName}, callback, asyncState);
		}

		/// <remarks/>
		public PrimaryDomainAdminResult EndGetPrimaryDomainAdmin(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((PrimaryDomainAdminResult)(results[0]));
		}

		/// <remarks/>
		public void GetPrimaryDomainAdminAsync(string AuthUserName, string AuthPassword, string DomainName)
		{
			this.GetPrimaryDomainAdminAsync(AuthUserName, AuthPassword, DomainName, null);
		}

		/// <remarks/>
		public void GetPrimaryDomainAdminAsync(string AuthUserName, string AuthPassword, string DomainName, object userState)
		{
			if ((this.GetPrimaryDomainAdminOperationCompleted == null))
			{
				this.GetPrimaryDomainAdminOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetPrimaryDomainAdminOperationCompleted);
			}
			this.InvokeAsync("GetPrimaryDomainAdmin", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName}, this.GetPrimaryDomainAdminOperationCompleted, userState);
		}

		private void OnGetPrimaryDomainAdminOperationCompleted(object arg)
		{
			if ((this.GetPrimaryDomainAdminCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.GetPrimaryDomainAdminCompleted(this, new GetPrimaryDomainAdminCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/SetPrimaryDomainAdmin", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public GenericResult SetPrimaryDomainAdmin(string AuthUserName, string AuthPassword, string DomainName, string AdminUserName)
		{
			object[] results = this.Invoke("SetPrimaryDomainAdmin", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    AdminUserName});
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginSetPrimaryDomainAdmin(string AuthUserName, string AuthPassword, string DomainName, string AdminUserName, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("SetPrimaryDomainAdmin", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    AdminUserName}, callback, asyncState);
		}

		/// <remarks/>
		public GenericResult EndSetPrimaryDomainAdmin(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public void SetPrimaryDomainAdminAsync(string AuthUserName, string AuthPassword, string DomainName, string AdminUserName)
		{
			this.SetPrimaryDomainAdminAsync(AuthUserName, AuthPassword, DomainName, AdminUserName, null);
		}

		/// <remarks/>
		public void SetPrimaryDomainAdminAsync(string AuthUserName, string AuthPassword, string DomainName, string AdminUserName, object userState)
		{
			if ((this.SetPrimaryDomainAdminOperationCompleted == null))
			{
				this.SetPrimaryDomainAdminOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetPrimaryDomainAdminOperationCompleted);
			}
			this.InvokeAsync("SetPrimaryDomainAdmin", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    AdminUserName}, this.SetPrimaryDomainAdminOperationCompleted, userState);
		}

		private void OnSetPrimaryDomainAdminOperationCompleted(object arg)
		{
			if ((this.SetPrimaryDomainAdminCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.SetPrimaryDomainAdminCompleted(this, new SetPrimaryDomainAdminCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetDomainDefaults", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public DomainSettingsResult GetDomainDefaults(string AuthUserName, string AuthPassword)
		{
			object[] results = this.Invoke("GetDomainDefaults", new object[] {
                    AuthUserName,
                    AuthPassword});
			return ((DomainSettingsResult)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginGetDomainDefaults(string AuthUserName, string AuthPassword, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("GetDomainDefaults", new object[] {
                    AuthUserName,
                    AuthPassword}, callback, asyncState);
		}

		/// <remarks/>
		public DomainSettingsResult EndGetDomainDefaults(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((DomainSettingsResult)(results[0]));
		}

		/// <remarks/>
		public void GetDomainDefaultsAsync(string AuthUserName, string AuthPassword)
		{
			this.GetDomainDefaultsAsync(AuthUserName, AuthPassword, null);
		}

		/// <remarks/>
		public void GetDomainDefaultsAsync(string AuthUserName, string AuthPassword, object userState)
		{
			if ((this.GetDomainDefaultsOperationCompleted == null))
			{
				this.GetDomainDefaultsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetDomainDefaultsOperationCompleted);
			}
			this.InvokeAsync("GetDomainDefaults", new object[] {
                    AuthUserName,
                    AuthPassword}, this.GetDomainDefaultsOperationCompleted, userState);
		}

		private void OnGetDomainDefaultsOperationCompleted(object arg)
		{
			if ((this.GetDomainDefaultsCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.GetDomainDefaultsCompleted(this, new GetDomainDefaultsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/DisableDomain", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public GenericResult DisableDomain(string AuthUserName, string AuthPassword, string domainName)
		{
			object[] results = this.Invoke("DisableDomain", new object[] {
                    AuthUserName,
                    AuthPassword,
                    domainName});
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginDisableDomain(string AuthUserName, string AuthPassword, string domainName, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("DisableDomain", new object[] {
                    AuthUserName,
                    AuthPassword,
                    domainName}, callback, asyncState);
		}

		/// <remarks/>
		public GenericResult EndDisableDomain(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public void DisableDomainAsync(string AuthUserName, string AuthPassword, string domainName)
		{
			this.DisableDomainAsync(AuthUserName, AuthPassword, domainName, null);
		}

		/// <remarks/>
		public void DisableDomainAsync(string AuthUserName, string AuthPassword, string domainName, object userState)
		{
			if ((this.DisableDomainOperationCompleted == null))
			{
				this.DisableDomainOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDisableDomainOperationCompleted);
			}
			this.InvokeAsync("DisableDomain", new object[] {
                    AuthUserName,
                    AuthPassword,
                    domainName}, this.DisableDomainOperationCompleted, userState);
		}

		private void OnDisableDomainOperationCompleted(object arg)
		{
			if ((this.DisableDomainCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.DisableDomainCompleted(this, new DisableDomainCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/EnableDomain", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public GenericResult EnableDomain(string AuthUserName, string AuthPassword, string domainName)
		{
			object[] results = this.Invoke("EnableDomain", new object[] {
                    AuthUserName,
                    AuthPassword,
                    domainName});
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginEnableDomain(string AuthUserName, string AuthPassword, string domainName, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("EnableDomain", new object[] {
                    AuthUserName,
                    AuthPassword,
                    domainName}, callback, asyncState);
		}

		/// <remarks/>
		public GenericResult EndEnableDomain(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public void EnableDomainAsync(string AuthUserName, string AuthPassword, string domainName)
		{
			this.EnableDomainAsync(AuthUserName, AuthPassword, domainName, null);
		}

		/// <remarks/>
		public void EnableDomainAsync(string AuthUserName, string AuthPassword, string domainName, object userState)
		{
			if ((this.EnableDomainOperationCompleted == null))
			{
				this.EnableDomainOperationCompleted = new System.Threading.SendOrPostCallback(this.OnEnableDomainOperationCompleted);
			}
			this.InvokeAsync("EnableDomain", new object[] {
                    AuthUserName,
                    AuthPassword,
                    domainName}, this.EnableDomainOperationCompleted, userState);
		}

		private void OnEnableDomainOperationCompleted(object arg)
		{
			if ((this.EnableDomainCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.EnableDomainCompleted(this, new EnableDomainCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetDomainInfo", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public DomainInfoResult GetDomainInfo(string AuthUserName, string AuthPassword, string domainName)
		{
			object[] results = this.Invoke("GetDomainInfo", new object[] {
                    AuthUserName,
                    AuthPassword,
                    domainName});
			return ((DomainInfoResult)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginGetDomainInfo(string AuthUserName, string AuthPassword, string domainName, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("GetDomainInfo", new object[] {
                    AuthUserName,
                    AuthPassword,
                    domainName}, callback, asyncState);
		}

		/// <remarks/>
		public DomainInfoResult EndGetDomainInfo(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((DomainInfoResult)(results[0]));
		}

		/// <remarks/>
		public void GetDomainInfoAsync(string AuthUserName, string AuthPassword, string domainName)
		{
			this.GetDomainInfoAsync(AuthUserName, AuthPassword, domainName, null);
		}

		/// <remarks/>
		public void GetDomainInfoAsync(string AuthUserName, string AuthPassword, string domainName, object userState)
		{
			if ((this.GetDomainInfoOperationCompleted == null))
			{
				this.GetDomainInfoOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetDomainInfoOperationCompleted);
			}
			this.InvokeAsync("GetDomainInfo", new object[] {
                    AuthUserName,
                    AuthPassword,
                    domainName}, this.GetDomainInfoOperationCompleted, userState);
		}

		private void OnGetDomainInfoOperationCompleted(object arg)
		{
			if ((this.GetDomainInfoCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.GetDomainInfoCompleted(this, new GetDomainInfoCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetDomainSettings", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public DomainSettingsResult GetDomainSettings(string AuthUserName, string AuthPassword, string domainName)
		{
			object[] results = this.Invoke("GetDomainSettings", new object[] {
                    AuthUserName,
                    AuthPassword,
                    domainName});
			return ((DomainSettingsResult)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginGetDomainSettings(string AuthUserName, string AuthPassword, string domainName, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("GetDomainSettings", new object[] {
                    AuthUserName,
                    AuthPassword,
                    domainName}, callback, asyncState);
		}

		/// <remarks/>
		public DomainSettingsResult EndGetDomainSettings(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((DomainSettingsResult)(results[0]));
		}

		/// <remarks/>
		public void GetDomainSettingsAsync(string AuthUserName, string AuthPassword, string domainName)
		{
			this.GetDomainSettingsAsync(AuthUserName, AuthPassword, domainName, null);
		}

		/// <remarks/>
		public void GetDomainSettingsAsync(string AuthUserName, string AuthPassword, string domainName, object userState)
		{
			if ((this.GetDomainSettingsOperationCompleted == null))
			{
				this.GetDomainSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetDomainSettingsOperationCompleted);
			}
			this.InvokeAsync("GetDomainSettings", new object[] {
                    AuthUserName,
                    AuthPassword,
                    domainName}, this.GetDomainSettingsOperationCompleted, userState);
		}

		private void OnGetDomainSettingsOperationCompleted(object arg)
		{
			if ((this.GetDomainSettingsCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.GetDomainSettingsCompleted(this, new GetDomainSettingsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetDomainForwarding", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public DomainForwardInfoResult GetDomainForwarding(string AuthUserName, string AuthPassword, bool includeDomains)
		{
			object[] results = this.Invoke("GetDomainForwarding", new object[] {
                    AuthUserName,
                    AuthPassword,
                    includeDomains});
			return ((DomainForwardInfoResult)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginGetDomainForwarding(string AuthUserName, string AuthPassword, bool includeDomains, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("GetDomainForwarding", new object[] {
                    AuthUserName,
                    AuthPassword,
                    includeDomains}, callback, asyncState);
		}

		/// <remarks/>
		public DomainForwardInfoResult EndGetDomainForwarding(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((DomainForwardInfoResult)(results[0]));
		}

		/// <remarks/>
		public void GetDomainForwardingAsync(string AuthUserName, string AuthPassword, bool includeDomains)
		{
			this.GetDomainForwardingAsync(AuthUserName, AuthPassword, includeDomains, null);
		}

		/// <remarks/>
		public void GetDomainForwardingAsync(string AuthUserName, string AuthPassword, bool includeDomains, object userState)
		{
			if ((this.GetDomainForwardingOperationCompleted == null))
			{
				this.GetDomainForwardingOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetDomainForwardingOperationCompleted);
			}
			this.InvokeAsync("GetDomainForwarding", new object[] {
                    AuthUserName,
                    AuthPassword,
                    includeDomains}, this.GetDomainForwardingOperationCompleted, userState);
		}

		private void OnGetDomainForwardingOperationCompleted(object arg)
		{
			if ((this.GetDomainForwardingCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.GetDomainForwardingCompleted(this, new GetDomainForwardingCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetDomainForwardingBlock", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public DomainForwardBlockInfoResult GetDomainForwardingBlock(string AuthUserName, string AuthPassword, int blockID)
		{
			object[] results = this.Invoke("GetDomainForwardingBlock", new object[] {
                    AuthUserName,
                    AuthPassword,
                    blockID});
			return ((DomainForwardBlockInfoResult)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginGetDomainForwardingBlock(string AuthUserName, string AuthPassword, int blockID, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("GetDomainForwardingBlock", new object[] {
                    AuthUserName,
                    AuthPassword,
                    blockID}, callback, asyncState);
		}

		/// <remarks/>
		public DomainForwardBlockInfoResult EndGetDomainForwardingBlock(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((DomainForwardBlockInfoResult)(results[0]));
		}

		/// <remarks/>
		public void GetDomainForwardingBlockAsync(string AuthUserName, string AuthPassword, int blockID)
		{
			this.GetDomainForwardingBlockAsync(AuthUserName, AuthPassword, blockID, null);
		}

		/// <remarks/>
		public void GetDomainForwardingBlockAsync(string AuthUserName, string AuthPassword, int blockID, object userState)
		{
			if ((this.GetDomainForwardingBlockOperationCompleted == null))
			{
				this.GetDomainForwardingBlockOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetDomainForwardingBlockOperationCompleted);
			}
			this.InvokeAsync("GetDomainForwardingBlock", new object[] {
                    AuthUserName,
                    AuthPassword,
                    blockID}, this.GetDomainForwardingBlockOperationCompleted, userState);
		}

		private void OnGetDomainForwardingBlockOperationCompleted(object arg)
		{
			if ((this.GetDomainForwardingBlockCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.GetDomainForwardingBlockCompleted(this, new GetDomainForwardingBlockCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetDomainForwardingBlockByTargetAddress", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public DomainForwardBlockInfoResult GetDomainForwardingBlockByTargetAddress(string AuthUserName, string AuthPassword, string targetAddress)
		{
			object[] results = this.Invoke("GetDomainForwardingBlockByTargetAddress", new object[] {
                    AuthUserName,
                    AuthPassword,
                    targetAddress});
			return ((DomainForwardBlockInfoResult)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginGetDomainForwardingBlockByTargetAddress(string AuthUserName, string AuthPassword, string targetAddress, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("GetDomainForwardingBlockByTargetAddress", new object[] {
                    AuthUserName,
                    AuthPassword,
                    targetAddress}, callback, asyncState);
		}

		/// <remarks/>
		public DomainForwardBlockInfoResult EndGetDomainForwardingBlockByTargetAddress(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((DomainForwardBlockInfoResult)(results[0]));
		}

		/// <remarks/>
		public void GetDomainForwardingBlockByTargetAddressAsync(string AuthUserName, string AuthPassword, string targetAddress)
		{
			this.GetDomainForwardingBlockByTargetAddressAsync(AuthUserName, AuthPassword, targetAddress, null);
		}

		/// <remarks/>
		public void GetDomainForwardingBlockByTargetAddressAsync(string AuthUserName, string AuthPassword, string targetAddress, object userState)
		{
			if ((this.GetDomainForwardingBlockByTargetAddressOperationCompleted == null))
			{
				this.GetDomainForwardingBlockByTargetAddressOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetDomainForwardingBlockByTargetAddressOperationCompleted);
			}
			this.InvokeAsync("GetDomainForwardingBlockByTargetAddress", new object[] {
                    AuthUserName,
                    AuthPassword,
                    targetAddress}, this.GetDomainForwardingBlockByTargetAddressOperationCompleted, userState);
		}

		private void OnGetDomainForwardingBlockByTargetAddressOperationCompleted(object arg)
		{
			if ((this.GetDomainForwardingBlockByTargetAddressCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.GetDomainForwardingBlockByTargetAddressCompleted(this, new GetDomainForwardingBlockByTargetAddressCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/SetDomainForwardingBlock", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public GenericResult SetDomainForwardingBlock(string AuthUserName, string AuthPassword, int blockID, string targetAddress, string[] domains)
		{
			object[] results = this.Invoke("SetDomainForwardingBlock", new object[] {
                    AuthUserName,
                    AuthPassword,
                    blockID,
                    targetAddress,
                    domains});
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginSetDomainForwardingBlock(string AuthUserName, string AuthPassword, int blockID, string targetAddress, string[] domains, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("SetDomainForwardingBlock", new object[] {
                    AuthUserName,
                    AuthPassword,
                    blockID,
                    targetAddress,
                    domains}, callback, asyncState);
		}

		/// <remarks/>
		public GenericResult EndSetDomainForwardingBlock(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public void SetDomainForwardingBlockAsync(string AuthUserName, string AuthPassword, int blockID, string targetAddress, string[] domains)
		{
			this.SetDomainForwardingBlockAsync(AuthUserName, AuthPassword, blockID, targetAddress, domains, null);
		}

		/// <remarks/>
		public void SetDomainForwardingBlockAsync(string AuthUserName, string AuthPassword, int blockID, string targetAddress, string[] domains, object userState)
		{
			if ((this.SetDomainForwardingBlockOperationCompleted == null))
			{
				this.SetDomainForwardingBlockOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetDomainForwardingBlockOperationCompleted);
			}
			this.InvokeAsync("SetDomainForwardingBlock", new object[] {
                    AuthUserName,
                    AuthPassword,
                    blockID,
                    targetAddress,
                    domains}, this.SetDomainForwardingBlockOperationCompleted, userState);
		}

		private void OnSetDomainForwardingBlockOperationCompleted(object arg)
		{
			if ((this.SetDomainForwardingBlockCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.SetDomainForwardingBlockCompleted(this, new SetDomainForwardingBlockCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/SetDomainForwardingBlockByTargetAddress", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public GenericResult SetDomainForwardingBlockByTargetAddress(string AuthUserName, string AuthPassword, string targetAddress, string[] domains)
		{
			object[] results = this.Invoke("SetDomainForwardingBlockByTargetAddress", new object[] {
                    AuthUserName,
                    AuthPassword,
                    targetAddress,
                    domains});
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginSetDomainForwardingBlockByTargetAddress(string AuthUserName, string AuthPassword, string targetAddress, string[] domains, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("SetDomainForwardingBlockByTargetAddress", new object[] {
                    AuthUserName,
                    AuthPassword,
                    targetAddress,
                    domains}, callback, asyncState);
		}

		/// <remarks/>
		public GenericResult EndSetDomainForwardingBlockByTargetAddress(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public void SetDomainForwardingBlockByTargetAddressAsync(string AuthUserName, string AuthPassword, string targetAddress, string[] domains)
		{
			this.SetDomainForwardingBlockByTargetAddressAsync(AuthUserName, AuthPassword, targetAddress, domains, null);
		}

		/// <remarks/>
		public void SetDomainForwardingBlockByTargetAddressAsync(string AuthUserName, string AuthPassword, string targetAddress, string[] domains, object userState)
		{
			if ((this.SetDomainForwardingBlockByTargetAddressOperationCompleted == null))
			{
				this.SetDomainForwardingBlockByTargetAddressOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetDomainForwardingBlockByTargetAddressOperationCompleted);
			}
			this.InvokeAsync("SetDomainForwardingBlockByTargetAddress", new object[] {
                    AuthUserName,
                    AuthPassword,
                    targetAddress,
                    domains}, this.SetDomainForwardingBlockByTargetAddressOperationCompleted, userState);
		}

		private void OnSetDomainForwardingBlockByTargetAddressOperationCompleted(object arg)
		{
			if ((this.SetDomainForwardingBlockByTargetAddressCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.SetDomainForwardingBlockByTargetAddressCompleted(this, new SetDomainForwardingBlockByTargetAddressCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/AddDomainForwardingBlock", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public GenericResult AddDomainForwardingBlock(string AuthUserName, string AuthPassword, string targetAddress, string[] domains)
		{
			object[] results = this.Invoke("AddDomainForwardingBlock", new object[] {
                    AuthUserName,
                    AuthPassword,
                    targetAddress,
                    domains});
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginAddDomainForwardingBlock(string AuthUserName, string AuthPassword, string targetAddress, string[] domains, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("AddDomainForwardingBlock", new object[] {
                    AuthUserName,
                    AuthPassword,
                    targetAddress,
                    domains}, callback, asyncState);
		}

		/// <remarks/>
		public GenericResult EndAddDomainForwardingBlock(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public void AddDomainForwardingBlockAsync(string AuthUserName, string AuthPassword, string targetAddress, string[] domains)
		{
			this.AddDomainForwardingBlockAsync(AuthUserName, AuthPassword, targetAddress, domains, null);
		}

		/// <remarks/>
		public void AddDomainForwardingBlockAsync(string AuthUserName, string AuthPassword, string targetAddress, string[] domains, object userState)
		{
			if ((this.AddDomainForwardingBlockOperationCompleted == null))
			{
				this.AddDomainForwardingBlockOperationCompleted = new System.Threading.SendOrPostCallback(this.OnAddDomainForwardingBlockOperationCompleted);
			}
			this.InvokeAsync("AddDomainForwardingBlock", new object[] {
                    AuthUserName,
                    AuthPassword,
                    targetAddress,
                    domains}, this.AddDomainForwardingBlockOperationCompleted, userState);
		}

		private void OnAddDomainForwardingBlockOperationCompleted(object arg)
		{
			if ((this.AddDomainForwardingBlockCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.AddDomainForwardingBlockCompleted(this, new AddDomainForwardingBlockCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/DeleteDomainForwardingBlock", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public GenericResult DeleteDomainForwardingBlock(string AuthUserName, string AuthPassword, int blockID)
		{
			object[] results = this.Invoke("DeleteDomainForwardingBlock", new object[] {
                    AuthUserName,
                    AuthPassword,
                    blockID});
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginDeleteDomainForwardingBlock(string AuthUserName, string AuthPassword, int blockID, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("DeleteDomainForwardingBlock", new object[] {
                    AuthUserName,
                    AuthPassword,
                    blockID}, callback, asyncState);
		}

		/// <remarks/>
		public GenericResult EndDeleteDomainForwardingBlock(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public void DeleteDomainForwardingBlockAsync(string AuthUserName, string AuthPassword, int blockID)
		{
			this.DeleteDomainForwardingBlockAsync(AuthUserName, AuthPassword, blockID, null);
		}

		/// <remarks/>
		public void DeleteDomainForwardingBlockAsync(string AuthUserName, string AuthPassword, int blockID, object userState)
		{
			if ((this.DeleteDomainForwardingBlockOperationCompleted == null))
			{
				this.DeleteDomainForwardingBlockOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteDomainForwardingBlockOperationCompleted);
			}
			this.InvokeAsync("DeleteDomainForwardingBlock", new object[] {
                    AuthUserName,
                    AuthPassword,
                    blockID}, this.DeleteDomainForwardingBlockOperationCompleted, userState);
		}

		private void OnDeleteDomainForwardingBlockOperationCompleted(object arg)
		{
			if ((this.DeleteDomainForwardingBlockCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.DeleteDomainForwardingBlockCompleted(this, new DeleteDomainForwardingBlockCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/DeleteDomainForwardBlockByTargetAddress", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public GenericResult DeleteDomainForwardBlockByTargetAddress(string AuthUserName, string AuthPassword, string targetAddress)
		{
			object[] results = this.Invoke("DeleteDomainForwardBlockByTargetAddress", new object[] {
                    AuthUserName,
                    AuthPassword,
                    targetAddress});
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginDeleteDomainForwardBlockByTargetAddress(string AuthUserName, string AuthPassword, string targetAddress, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("DeleteDomainForwardBlockByTargetAddress", new object[] {
                    AuthUserName,
                    AuthPassword,
                    targetAddress}, callback, asyncState);
		}

		/// <remarks/>
		public GenericResult EndDeleteDomainForwardBlockByTargetAddress(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public void DeleteDomainForwardBlockByTargetAddressAsync(string AuthUserName, string AuthPassword, string targetAddress)
		{
			this.DeleteDomainForwardBlockByTargetAddressAsync(AuthUserName, AuthPassword, targetAddress, null);
		}

		/// <remarks/>
		public void DeleteDomainForwardBlockByTargetAddressAsync(string AuthUserName, string AuthPassword, string targetAddress, object userState)
		{
			if ((this.DeleteDomainForwardBlockByTargetAddressOperationCompleted == null))
			{
				this.DeleteDomainForwardBlockByTargetAddressOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteDomainForwardBlockByTargetAddressOperationCompleted);
			}
			this.InvokeAsync("DeleteDomainForwardBlockByTargetAddress", new object[] {
                    AuthUserName,
                    AuthPassword,
                    targetAddress}, this.DeleteDomainForwardBlockByTargetAddressOperationCompleted, userState);
		}

		private void OnDeleteDomainForwardBlockByTargetAddressOperationCompleted(object arg)
		{
			if ((this.DeleteDomainForwardBlockByTargetAddressCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.DeleteDomainForwardBlockByTargetAddressCompleted(this, new DeleteDomainForwardBlockByTargetAddressCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		public new void CancelAsync(object userState)
		{
			base.CancelAsync(userState);
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.SerializableAttribute()]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	[System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://tempuri.org/")]
	public partial class DomainForwardBlockInfoResult
	{

		/// <remarks/>
		public bool Result;

		/// <remarks/>
		public int ResultCode;

		/// <remarks/>
		public string Message;

		/// <remarks/>
		public DomainForwardBlockInfo domainForwardBlock;
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.SerializableAttribute()]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	[System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://tempuri.org/")]
	public partial class DomainForwardBlockInfo
	{

		/// <remarks/>
		public int blockID;

		/// <remarks/>
		public string targetAddress;

		/// <remarks/>
		public string[] domains;
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.SerializableAttribute()]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	[System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://tempuri.org/")]
	public partial class DomainForwardInfoResult
	{

		/// <remarks/>
		public bool Result;

		/// <remarks/>
		public int ResultCode;

		/// <remarks/>
		public string Message;

		/// <remarks/>
		[System.Xml.Serialization.XmlArrayItemAttribute(IsNullable = false)]
		public DomainForwardBlockInfo[] blocks;
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.SerializableAttribute()]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	[System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://tempuri.org/")]
	public partial class DomainInfoResult
	{

		/// <remarks/>
		public bool Result;

		/// <remarks/>
		public int ResultCode;

		/// <remarks/>
		public string Message;

		/// <remarks/>
		public string Path;
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.SerializableAttribute()]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	[System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://tempuri.org/")]
	public partial class DomainSettingsResult
	{

		/// <remarks/>
		public bool Result;

		/// <remarks/>
		public int ResultCode;

		/// <remarks/>
		public string Message;

		/// <remarks/>
		public string ServerIP;

		/// <remarks/>
		public string Path;

		/// <remarks/>
		public int ImapPort;

		/// <remarks/>
		public int PopPort;

		/// <remarks/>
		public int SmtpPort;

		/// <remarks/>
		public int MaxAliases;

		/// <remarks/>
		public int MaxDomainAliases;

		/// <remarks/>
		public int MaxLists;

		/// <remarks/>
		public int MaxDomainSizeInMB;

		/// <remarks/>
		public int MaxDomainUsers;

		/// <remarks/>
		public int MaxMailboxSizeInMB;

		/// <remarks/>
		public int MaxMessageSize;

		/// <remarks/>
		public int MaxRecipients;

		/// <remarks/>
		public bool ShowDomainAliasMenu;

		/// <remarks/>
		public bool ShowContentFilteringMenu;

		/// <remarks/>
		public bool ShowSpamMenu;

		/// <remarks/>
		public bool ShowStatsMenu;

		/// <remarks/>
		public bool ShowListMenu;

		/// <remarks/>
		public bool RequireSmtpAuthentication;

		/// <remarks/>
		public string ListCommandAddress;
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.SerializableAttribute()]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	[System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://tempuri.org/")]
	public partial class PrimaryDomainAdminResult
	{

		/// <remarks/>
		public bool Result;

		/// <remarks/>
		public int ResultCode;

		/// <remarks/>
		public string Message;

		/// <remarks/>
		public string PrimaryAdmin;
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.SerializableAttribute()]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	[System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://tempuri.org/")]
	public partial class DomainStatInfo
	{

		/// <remarks/>
		public string DomainName;

		/// <remarks/>
		public long MessagesReceived;

		/// <remarks/>
		public long MessagesSent;

		/// <remarks/>
		public long BytesReceived;

		/// <remarks/>
		public long BytesSent;

		/// <remarks/>
		public long BytesSize;
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.SerializableAttribute()]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	[System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://tempuri.org/")]
	public partial class AllDomainStatResult
	{

		/// <remarks/>
		public bool Result;

		/// <remarks/>
		public int ResultCode;

		/// <remarks/>
		public string Message;

		/// <remarks/>
		[System.Xml.Serialization.XmlArrayItemAttribute(IsNullable = false)]
		public DomainStatInfo[] Stats;
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.SerializableAttribute()]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	[System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://tempuri.org/")]
	public partial class StatInfoResult
	{

		/// <remarks/>
		public bool Result;

		/// <remarks/>
		public int ResultCode;

		/// <remarks/>
		public string Message;

		/// <remarks/>
		public long MessagesReceived;

		/// <remarks/>
		public long MessagesSent;

		/// <remarks/>
		public long BytesReceived;

		/// <remarks/>
		public long BytesSent;

		/// <remarks/>
		public long BytesSize;
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.SerializableAttribute()]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	[System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://tempuri.org/")]
	public partial class DomainListResult
	{

		/// <remarks/>
		public bool Result;

		/// <remarks/>
		public int ResultCode;

		/// <remarks/>
		public string Message;

		/// <remarks/>
		public string[] DomainNames;
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.SerializableAttribute()]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	[System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://tempuri.org/")]
	public partial class SettingsRequestResult
	{

		/// <remarks/>
		public bool Result;

		/// <remarks/>
		public int ResultCode;

		/// <remarks/>
		public string Message;

		/// <remarks/>
		public string[] settingValues;
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	public delegate void AddDomainCompletedEventHandler(object sender, AddDomainCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class AddDomainCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal AddDomainCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
			base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public GenericResult Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((GenericResult)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	public delegate void UpdateDomainNameAndPathCompletedEventHandler(object sender, UpdateDomainNameAndPathCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class UpdateDomainNameAndPathCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal UpdateDomainNameAndPathCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
			base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public GenericResult Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((GenericResult)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	public delegate void RenameDomainCompletedEventHandler(object sender, RenameDomainCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class RenameDomainCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal RenameDomainCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
			base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public GenericResult Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((GenericResult)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	public delegate void ReloadDomainCompletedEventHandler(object sender, ReloadDomainCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class ReloadDomainCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal ReloadDomainCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
			base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public GenericResult Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((GenericResult)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	public delegate void UpdateDomainCompletedEventHandler(object sender, UpdateDomainCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class UpdateDomainCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal UpdateDomainCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
			base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public GenericResult Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((GenericResult)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	public delegate void GetRequestedDomainDefaultsCompletedEventHandler(object sender, GetRequestedDomainDefaultsCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class GetRequestedDomainDefaultsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal GetRequestedDomainDefaultsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
			base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public SettingsRequestResult Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((SettingsRequestResult)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	public delegate void GetRequestedDomainSettingsCompletedEventHandler(object sender, GetRequestedDomainSettingsCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class GetRequestedDomainSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal GetRequestedDomainSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
			base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public SettingsRequestResult Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((SettingsRequestResult)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	public delegate void SetRequestedDomainDefaultsCompletedEventHandler(object sender, SetRequestedDomainDefaultsCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class SetRequestedDomainDefaultsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal SetRequestedDomainDefaultsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
			base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public GenericResult Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((GenericResult)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	public delegate void SetRequestedDomainSettingsCompletedEventHandler(object sender, SetRequestedDomainSettingsCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class SetRequestedDomainSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal SetRequestedDomainSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
			base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public GenericResult Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((GenericResult)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	public delegate void DeleteDomainCompletedEventHandler(object sender, DeleteDomainCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class DeleteDomainCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal DeleteDomainCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
			base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public GenericResult Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((GenericResult)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	public delegate void GetAllDomainsCompletedEventHandler(object sender, GetAllDomainsCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class GetAllDomainsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal GetAllDomainsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
			base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public DomainListResult Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((DomainListResult)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	public delegate void GetDomainStatisticsCompletedEventHandler(object sender, GetDomainStatisticsCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class GetDomainStatisticsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal GetDomainStatisticsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
			base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public StatInfoResult Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((StatInfoResult)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	public delegate void GetAllDomainStatisticsCompletedEventHandler(object sender, GetAllDomainStatisticsCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class GetAllDomainStatisticsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal GetAllDomainStatisticsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
			base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public AllDomainStatResult Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((AllDomainStatResult)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	public delegate void GetPrimaryDomainAdminCompletedEventHandler(object sender, GetPrimaryDomainAdminCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class GetPrimaryDomainAdminCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal GetPrimaryDomainAdminCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
			base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public PrimaryDomainAdminResult Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((PrimaryDomainAdminResult)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	public delegate void SetPrimaryDomainAdminCompletedEventHandler(object sender, SetPrimaryDomainAdminCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class SetPrimaryDomainAdminCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal SetPrimaryDomainAdminCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
			base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public GenericResult Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((GenericResult)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	public delegate void GetDomainDefaultsCompletedEventHandler(object sender, GetDomainDefaultsCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class GetDomainDefaultsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal GetDomainDefaultsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
			base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public DomainSettingsResult Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((DomainSettingsResult)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	public delegate void DisableDomainCompletedEventHandler(object sender, DisableDomainCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class DisableDomainCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal DisableDomainCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
			base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public GenericResult Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((GenericResult)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	public delegate void EnableDomainCompletedEventHandler(object sender, EnableDomainCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class EnableDomainCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal EnableDomainCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
			base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public GenericResult Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((GenericResult)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	public delegate void GetDomainInfoCompletedEventHandler(object sender, GetDomainInfoCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class GetDomainInfoCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal GetDomainInfoCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
			base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public DomainInfoResult Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((DomainInfoResult)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	public delegate void GetDomainSettingsCompletedEventHandler(object sender, GetDomainSettingsCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class GetDomainSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal GetDomainSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
			base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public DomainSettingsResult Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((DomainSettingsResult)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	public delegate void GetDomainForwardingCompletedEventHandler(object sender, GetDomainForwardingCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class GetDomainForwardingCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal GetDomainForwardingCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
			base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public DomainForwardInfoResult Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((DomainForwardInfoResult)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	public delegate void GetDomainForwardingBlockCompletedEventHandler(object sender, GetDomainForwardingBlockCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class GetDomainForwardingBlockCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal GetDomainForwardingBlockCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
			base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public DomainForwardBlockInfoResult Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((DomainForwardBlockInfoResult)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	public delegate void GetDomainForwardingBlockByTargetAddressCompletedEventHandler(object sender, GetDomainForwardingBlockByTargetAddressCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class GetDomainForwardingBlockByTargetAddressCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal GetDomainForwardingBlockByTargetAddressCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
			base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public DomainForwardBlockInfoResult Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((DomainForwardBlockInfoResult)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	public delegate void SetDomainForwardingBlockCompletedEventHandler(object sender, SetDomainForwardingBlockCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class SetDomainForwardingBlockCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal SetDomainForwardingBlockCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
			base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public GenericResult Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((GenericResult)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	public delegate void SetDomainForwardingBlockByTargetAddressCompletedEventHandler(object sender, SetDomainForwardingBlockByTargetAddressCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class SetDomainForwardingBlockByTargetAddressCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal SetDomainForwardingBlockByTargetAddressCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
			base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public GenericResult Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((GenericResult)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	public delegate void AddDomainForwardingBlockCompletedEventHandler(object sender, AddDomainForwardingBlockCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class AddDomainForwardingBlockCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal AddDomainForwardingBlockCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
			base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public GenericResult Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((GenericResult)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	public delegate void DeleteDomainForwardingBlockCompletedEventHandler(object sender, DeleteDomainForwardingBlockCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class DeleteDomainForwardingBlockCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal DeleteDomainForwardingBlockCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
			base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public GenericResult Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((GenericResult)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	public delegate void DeleteDomainForwardBlockByTargetAddressCompletedEventHandler(object sender, DeleteDomainForwardBlockByTargetAddressCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class DeleteDomainForwardBlockByTargetAddressCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal DeleteDomainForwardBlockByTargetAddressCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
			base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public GenericResult Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((GenericResult)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	[System.Web.Services.WebServiceBindingAttribute(Name = "svcMailListAdminSoap", Namespace = "http://tempuri.org/")]
	public partial class svcMailListAdmin : System.Web.Services.Protocols.SoapHttpClientProtocol
	{

		private System.Threading.SendOrPostCallback SetRequestedListSettingsOperationCompleted;

		private System.Threading.SendOrPostCallback GetRequestedListSettingsOperationCompleted;

		private System.Threading.SendOrPostCallback GetMailingListsByDomainOperationCompleted;

		private System.Threading.SendOrPostCallback DeleteAllListsOperationCompleted;

		private System.Threading.SendOrPostCallback DeleteListOperationCompleted;

		private System.Threading.SendOrPostCallback GetListCommandAddressOperationCompleted;

		private System.Threading.SendOrPostCallback SetListCommandAddressOperationCompleted;

		private System.Threading.SendOrPostCallback AddListOperationCompleted;

		private System.Threading.SendOrPostCallback AddSubscriberOperationCompleted;

		private System.Threading.SendOrPostCallback AddDigestSubscriberOperationCompleted;

		private System.Threading.SendOrPostCallback RemoveSubscriberOperationCompleted;

		private System.Threading.SendOrPostCallback RemoveDigestSubscriberOperationCompleted;

		private System.Threading.SendOrPostCallback GetSubscriberListOperationCompleted;

		private System.Threading.SendOrPostCallback GetDigestSubscriberListOperationCompleted;

		private System.Threading.SendOrPostCallback SetSubscriberListOperationCompleted;

		private System.Threading.SendOrPostCallback SetDigestSubscriberListOperationCompleted;

		/// <remarks/>
		public svcMailListAdmin()
		{
			this.Url = "http://localhost:9998/Services/svcMailListAdmin.asmx";
		}

		/// <remarks/>
		public event SetRequestedListSettingsCompletedEventHandler SetRequestedListSettingsCompleted;

		/// <remarks/>
		public event GetRequestedListSettingsCompletedEventHandler GetRequestedListSettingsCompleted;

		/// <remarks/>
		public event GetMailingListsByDomainCompletedEventHandler GetMailingListsByDomainCompleted;

		/// <remarks/>
		public event DeleteAllListsCompletedEventHandler DeleteAllListsCompleted;

		/// <remarks/>
		public event DeleteListCompletedEventHandler DeleteListCompleted;

		/// <remarks/>
		public event GetListCommandAddressCompletedEventHandler GetListCommandAddressCompleted;

		/// <remarks/>
		public event SetListCommandAddressCompletedEventHandler SetListCommandAddressCompleted;

		/// <remarks/>
		public event AddListCompletedEventHandler AddListCompleted;

		/// <remarks/>
		public event AddSubscriberCompletedEventHandler AddSubscriberCompleted;

		/// <remarks/>
		public event AddDigestSubscriberCompletedEventHandler AddDigestSubscriberCompleted;

		/// <remarks/>
		public event RemoveSubscriberCompletedEventHandler RemoveSubscriberCompleted;

		/// <remarks/>
		public event RemoveDigestSubscriberCompletedEventHandler RemoveDigestSubscriberCompleted;

		/// <remarks/>
		public event GetSubscriberListCompletedEventHandler GetSubscriberListCompleted;

		/// <remarks/>
		public event GetDigestSubscriberListCompletedEventHandler GetDigestSubscriberListCompleted;

		/// <remarks/>
		public event SetSubscriberListCompletedEventHandler SetSubscriberListCompleted;

		/// <remarks/>
		public event SetDigestSubscriberListCompletedEventHandler SetDigestSubscriberListCompleted;

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/SetRequestedListSettings", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public GenericResult SetRequestedListSettings(string AuthUserName, string AuthPassword, string DomainName, string ListName, string[] newSettings)
		{
			object[] results = this.Invoke("SetRequestedListSettings", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    ListName,
                    newSettings});
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginSetRequestedListSettings(string AuthUserName, string AuthPassword, string DomainName, string ListName, string[] newSettings, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("SetRequestedListSettings", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    ListName,
                    newSettings}, callback, asyncState);
		}

		/// <remarks/>
		public GenericResult EndSetRequestedListSettings(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public void SetRequestedListSettingsAsync(string AuthUserName, string AuthPassword, string DomainName, string ListName, string[] newSettings)
		{
			this.SetRequestedListSettingsAsync(AuthUserName, AuthPassword, DomainName, ListName, newSettings, null);
		}

		/// <remarks/>
		public void SetRequestedListSettingsAsync(string AuthUserName, string AuthPassword, string DomainName, string ListName, string[] newSettings, object userState)
		{
			if ((this.SetRequestedListSettingsOperationCompleted == null))
			{
				this.SetRequestedListSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetRequestedListSettingsOperationCompleted);
			}
			this.InvokeAsync("SetRequestedListSettings", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    ListName,
                    newSettings}, this.SetRequestedListSettingsOperationCompleted, userState);
		}

		private void OnSetRequestedListSettingsOperationCompleted(object arg)
		{
			if ((this.SetRequestedListSettingsCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.SetRequestedListSettingsCompleted(this, new SetRequestedListSettingsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetRequestedListSettings", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public SettingsRequestResult GetRequestedListSettings(string AuthUserName, string AuthPassword, string DomainName, string ListName, string[] requestedSettings)
		{
			object[] results = this.Invoke("GetRequestedListSettings", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    ListName,
                    requestedSettings});
			return ((SettingsRequestResult)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginGetRequestedListSettings(string AuthUserName, string AuthPassword, string DomainName, string ListName, string[] requestedSettings, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("GetRequestedListSettings", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    ListName,
                    requestedSettings}, callback, asyncState);
		}

		/// <remarks/>
		public SettingsRequestResult EndGetRequestedListSettings(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((SettingsRequestResult)(results[0]));
		}

		/// <remarks/>
		public void GetRequestedListSettingsAsync(string AuthUserName, string AuthPassword, string DomainName, string ListName, string[] requestedSettings)
		{
			this.GetRequestedListSettingsAsync(AuthUserName, AuthPassword, DomainName, ListName, requestedSettings, null);
		}

		/// <remarks/>
		public void GetRequestedListSettingsAsync(string AuthUserName, string AuthPassword, string DomainName, string ListName, string[] requestedSettings, object userState)
		{
			if ((this.GetRequestedListSettingsOperationCompleted == null))
			{
				this.GetRequestedListSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetRequestedListSettingsOperationCompleted);
			}
			this.InvokeAsync("GetRequestedListSettings", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    ListName,
                    requestedSettings}, this.GetRequestedListSettingsOperationCompleted, userState);
		}

		private void OnGetRequestedListSettingsOperationCompleted(object arg)
		{
			if ((this.GetRequestedListSettingsCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.GetRequestedListSettingsCompleted(this, new GetRequestedListSettingsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetMailingListsByDomain", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public MailingListResult GetMailingListsByDomain(string AuthUserName, string AuthPassword, string DomainName)
		{
			object[] results = this.Invoke("GetMailingListsByDomain", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName});
			return ((MailingListResult)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginGetMailingListsByDomain(string AuthUserName, string AuthPassword, string DomainName, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("GetMailingListsByDomain", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName}, callback, asyncState);
		}

		/// <remarks/>
		public MailingListResult EndGetMailingListsByDomain(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((MailingListResult)(results[0]));
		}

		/// <remarks/>
		public void GetMailingListsByDomainAsync(string AuthUserName, string AuthPassword, string DomainName)
		{
			this.GetMailingListsByDomainAsync(AuthUserName, AuthPassword, DomainName, null);
		}

		/// <remarks/>
		public void GetMailingListsByDomainAsync(string AuthUserName, string AuthPassword, string DomainName, object userState)
		{
			if ((this.GetMailingListsByDomainOperationCompleted == null))
			{
				this.GetMailingListsByDomainOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetMailingListsByDomainOperationCompleted);
			}
			this.InvokeAsync("GetMailingListsByDomain", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName}, this.GetMailingListsByDomainOperationCompleted, userState);
		}

		private void OnGetMailingListsByDomainOperationCompleted(object arg)
		{
			if ((this.GetMailingListsByDomainCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.GetMailingListsByDomainCompleted(this, new GetMailingListsByDomainCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/DeleteAllLists", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public GenericResult DeleteAllLists(string AuthUserName, string AuthPassword, string DomainName)
		{
			object[] results = this.Invoke("DeleteAllLists", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName});
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginDeleteAllLists(string AuthUserName, string AuthPassword, string DomainName, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("DeleteAllLists", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName}, callback, asyncState);
		}

		/// <remarks/>
		public GenericResult EndDeleteAllLists(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public void DeleteAllListsAsync(string AuthUserName, string AuthPassword, string DomainName)
		{
			this.DeleteAllListsAsync(AuthUserName, AuthPassword, DomainName, null);
		}

		/// <remarks/>
		public void DeleteAllListsAsync(string AuthUserName, string AuthPassword, string DomainName, object userState)
		{
			if ((this.DeleteAllListsOperationCompleted == null))
			{
				this.DeleteAllListsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteAllListsOperationCompleted);
			}
			this.InvokeAsync("DeleteAllLists", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName}, this.DeleteAllListsOperationCompleted, userState);
		}

		private void OnDeleteAllListsOperationCompleted(object arg)
		{
			if ((this.DeleteAllListsCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.DeleteAllListsCompleted(this, new DeleteAllListsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/DeleteList", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public GenericResult DeleteList(string AuthUserName, string AuthPassword, string DomainName, string ListName)
		{
			object[] results = this.Invoke("DeleteList", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    ListName});
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginDeleteList(string AuthUserName, string AuthPassword, string DomainName, string ListName, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("DeleteList", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    ListName}, callback, asyncState);
		}

		/// <remarks/>
		public GenericResult EndDeleteList(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public void DeleteListAsync(string AuthUserName, string AuthPassword, string DomainName, string ListName)
		{
			this.DeleteListAsync(AuthUserName, AuthPassword, DomainName, ListName, null);
		}

		/// <remarks/>
		public void DeleteListAsync(string AuthUserName, string AuthPassword, string DomainName, string ListName, object userState)
		{
			if ((this.DeleteListOperationCompleted == null))
			{
				this.DeleteListOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteListOperationCompleted);
			}
			this.InvokeAsync("DeleteList", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    ListName}, this.DeleteListOperationCompleted, userState);
		}

		private void OnDeleteListOperationCompleted(object arg)
		{
			if ((this.DeleteListCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.DeleteListCompleted(this, new DeleteListCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetListCommandAddress", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public ListCommandResult GetListCommandAddress(string AuthUserName, string AuthPassword, string DomainName)
		{
			object[] results = this.Invoke("GetListCommandAddress", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName});
			return ((ListCommandResult)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginGetListCommandAddress(string AuthUserName, string AuthPassword, string DomainName, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("GetListCommandAddress", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName}, callback, asyncState);
		}

		/// <remarks/>
		public ListCommandResult EndGetListCommandAddress(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((ListCommandResult)(results[0]));
		}

		/// <remarks/>
		public void GetListCommandAddressAsync(string AuthUserName, string AuthPassword, string DomainName)
		{
			this.GetListCommandAddressAsync(AuthUserName, AuthPassword, DomainName, null);
		}

		/// <remarks/>
		public void GetListCommandAddressAsync(string AuthUserName, string AuthPassword, string DomainName, object userState)
		{
			if ((this.GetListCommandAddressOperationCompleted == null))
			{
				this.GetListCommandAddressOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetListCommandAddressOperationCompleted);
			}
			this.InvokeAsync("GetListCommandAddress", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName}, this.GetListCommandAddressOperationCompleted, userState);
		}

		private void OnGetListCommandAddressOperationCompleted(object arg)
		{
			if ((this.GetListCommandAddressCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.GetListCommandAddressCompleted(this, new GetListCommandAddressCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/SetListCommandAddress", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public GenericResult SetListCommandAddress(string AuthUserName, string AuthPassword, string DomainName, string commandAddress)
		{
			object[] results = this.Invoke("SetListCommandAddress", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    commandAddress});
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginSetListCommandAddress(string AuthUserName, string AuthPassword, string DomainName, string commandAddress, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("SetListCommandAddress", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    commandAddress}, callback, asyncState);
		}

		/// <remarks/>
		public GenericResult EndSetListCommandAddress(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public void SetListCommandAddressAsync(string AuthUserName, string AuthPassword, string DomainName, string commandAddress)
		{
			this.SetListCommandAddressAsync(AuthUserName, AuthPassword, DomainName, commandAddress, null);
		}

		/// <remarks/>
		public void SetListCommandAddressAsync(string AuthUserName, string AuthPassword, string DomainName, string commandAddress, object userState)
		{
			if ((this.SetListCommandAddressOperationCompleted == null))
			{
				this.SetListCommandAddressOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetListCommandAddressOperationCompleted);
			}
			this.InvokeAsync("SetListCommandAddress", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    commandAddress}, this.SetListCommandAddressOperationCompleted, userState);
		}

		private void OnSetListCommandAddressOperationCompleted(object arg)
		{
			if ((this.SetListCommandAddressCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.SetListCommandAddressCompleted(this, new SetListCommandAddressCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/AddList", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public GenericResult AddList(string AuthUserName, string AuthPassword, string DomainName, string ListName, string Moderator, string Description)
		{
			object[] results = this.Invoke("AddList", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    ListName,
                    Moderator,
                    Description});
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginAddList(string AuthUserName, string AuthPassword, string DomainName, string ListName, string Moderator, string Description, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("AddList", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    ListName,
                    Moderator,
                    Description}, callback, asyncState);
		}

		/// <remarks/>
		public GenericResult EndAddList(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public void AddListAsync(string AuthUserName, string AuthPassword, string DomainName, string ListName, string Moderator, string Description)
		{
			this.AddListAsync(AuthUserName, AuthPassword, DomainName, ListName, Moderator, Description, null);
		}

		/// <remarks/>
		public void AddListAsync(string AuthUserName, string AuthPassword, string DomainName, string ListName, string Moderator, string Description, object userState)
		{
			if ((this.AddListOperationCompleted == null))
			{
				this.AddListOperationCompleted = new System.Threading.SendOrPostCallback(this.OnAddListOperationCompleted);
			}
			this.InvokeAsync("AddList", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    ListName,
                    Moderator,
                    Description}, this.AddListOperationCompleted, userState);
		}

		private void OnAddListOperationCompleted(object arg)
		{
			if ((this.AddListCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.AddListCompleted(this, new AddListCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/AddSubscriber", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public GenericResult AddSubscriber(string AuthUserName, string AuthPassword, string DomainName, string ListName, string Subscriber)
		{
			object[] results = this.Invoke("AddSubscriber", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    ListName,
                    Subscriber});
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginAddSubscriber(string AuthUserName, string AuthPassword, string DomainName, string ListName, string Subscriber, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("AddSubscriber", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    ListName,
                    Subscriber}, callback, asyncState);
		}

		/// <remarks/>
		public GenericResult EndAddSubscriber(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public void AddSubscriberAsync(string AuthUserName, string AuthPassword, string DomainName, string ListName, string Subscriber)
		{
			this.AddSubscriberAsync(AuthUserName, AuthPassword, DomainName, ListName, Subscriber, null);
		}

		/// <remarks/>
		public void AddSubscriberAsync(string AuthUserName, string AuthPassword, string DomainName, string ListName, string Subscriber, object userState)
		{
			if ((this.AddSubscriberOperationCompleted == null))
			{
				this.AddSubscriberOperationCompleted = new System.Threading.SendOrPostCallback(this.OnAddSubscriberOperationCompleted);
			}
			this.InvokeAsync("AddSubscriber", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    ListName,
                    Subscriber}, this.AddSubscriberOperationCompleted, userState);
		}

		private void OnAddSubscriberOperationCompleted(object arg)
		{
			if ((this.AddSubscriberCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.AddSubscriberCompleted(this, new AddSubscriberCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/AddDigestSubscriber", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public GenericResult AddDigestSubscriber(string AuthUserName, string AuthPassword, string DomainName, string ListName, string Subscriber)
		{
			object[] results = this.Invoke("AddDigestSubscriber", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    ListName,
                    Subscriber});
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginAddDigestSubscriber(string AuthUserName, string AuthPassword, string DomainName, string ListName, string Subscriber, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("AddDigestSubscriber", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    ListName,
                    Subscriber}, callback, asyncState);
		}

		/// <remarks/>
		public GenericResult EndAddDigestSubscriber(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public void AddDigestSubscriberAsync(string AuthUserName, string AuthPassword, string DomainName, string ListName, string Subscriber)
		{
			this.AddDigestSubscriberAsync(AuthUserName, AuthPassword, DomainName, ListName, Subscriber, null);
		}

		/// <remarks/>
		public void AddDigestSubscriberAsync(string AuthUserName, string AuthPassword, string DomainName, string ListName, string Subscriber, object userState)
		{
			if ((this.AddDigestSubscriberOperationCompleted == null))
			{
				this.AddDigestSubscriberOperationCompleted = new System.Threading.SendOrPostCallback(this.OnAddDigestSubscriberOperationCompleted);
			}
			this.InvokeAsync("AddDigestSubscriber", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    ListName,
                    Subscriber}, this.AddDigestSubscriberOperationCompleted, userState);
		}

		private void OnAddDigestSubscriberOperationCompleted(object arg)
		{
			if ((this.AddDigestSubscriberCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.AddDigestSubscriberCompleted(this, new AddDigestSubscriberCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/RemoveSubscriber", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public GenericResult RemoveSubscriber(string AuthUserName, string AuthPassword, string DomainName, string ListName, string Subscriber)
		{
			object[] results = this.Invoke("RemoveSubscriber", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    ListName,
                    Subscriber});
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginRemoveSubscriber(string AuthUserName, string AuthPassword, string DomainName, string ListName, string Subscriber, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("RemoveSubscriber", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    ListName,
                    Subscriber}, callback, asyncState);
		}

		/// <remarks/>
		public GenericResult EndRemoveSubscriber(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public void RemoveSubscriberAsync(string AuthUserName, string AuthPassword, string DomainName, string ListName, string Subscriber)
		{
			this.RemoveSubscriberAsync(AuthUserName, AuthPassword, DomainName, ListName, Subscriber, null);
		}

		/// <remarks/>
		public void RemoveSubscriberAsync(string AuthUserName, string AuthPassword, string DomainName, string ListName, string Subscriber, object userState)
		{
			if ((this.RemoveSubscriberOperationCompleted == null))
			{
				this.RemoveSubscriberOperationCompleted = new System.Threading.SendOrPostCallback(this.OnRemoveSubscriberOperationCompleted);
			}
			this.InvokeAsync("RemoveSubscriber", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    ListName,
                    Subscriber}, this.RemoveSubscriberOperationCompleted, userState);
		}

		private void OnRemoveSubscriberOperationCompleted(object arg)
		{
			if ((this.RemoveSubscriberCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.RemoveSubscriberCompleted(this, new RemoveSubscriberCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/RemoveDigestSubscriber", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public GenericResult RemoveDigestSubscriber(string AuthUserName, string AuthPassword, string DomainName, string ListName, string Subscriber)
		{
			object[] results = this.Invoke("RemoveDigestSubscriber", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    ListName,
                    Subscriber});
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginRemoveDigestSubscriber(string AuthUserName, string AuthPassword, string DomainName, string ListName, string Subscriber, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("RemoveDigestSubscriber", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    ListName,
                    Subscriber}, callback, asyncState);
		}

		/// <remarks/>
		public GenericResult EndRemoveDigestSubscriber(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public void RemoveDigestSubscriberAsync(string AuthUserName, string AuthPassword, string DomainName, string ListName, string Subscriber)
		{
			this.RemoveDigestSubscriberAsync(AuthUserName, AuthPassword, DomainName, ListName, Subscriber, null);
		}

		/// <remarks/>
		public void RemoveDigestSubscriberAsync(string AuthUserName, string AuthPassword, string DomainName, string ListName, string Subscriber, object userState)
		{
			if ((this.RemoveDigestSubscriberOperationCompleted == null))
			{
				this.RemoveDigestSubscriberOperationCompleted = new System.Threading.SendOrPostCallback(this.OnRemoveDigestSubscriberOperationCompleted);
			}
			this.InvokeAsync("RemoveDigestSubscriber", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    ListName,
                    Subscriber}, this.RemoveDigestSubscriberOperationCompleted, userState);
		}

		private void OnRemoveDigestSubscriberOperationCompleted(object arg)
		{
			if ((this.RemoveDigestSubscriberCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.RemoveDigestSubscriberCompleted(this, new RemoveDigestSubscriberCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetSubscriberList", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public SubscriberListResult GetSubscriberList(string AuthUserName, string AuthPassword, string DomainName, string ListName)
		{
			object[] results = this.Invoke("GetSubscriberList", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    ListName});
			return ((SubscriberListResult)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginGetSubscriberList(string AuthUserName, string AuthPassword, string DomainName, string ListName, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("GetSubscriberList", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    ListName}, callback, asyncState);
		}

		/// <remarks/>
		public SubscriberListResult EndGetSubscriberList(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((SubscriberListResult)(results[0]));
		}

		/// <remarks/>
		public void GetSubscriberListAsync(string AuthUserName, string AuthPassword, string DomainName, string ListName)
		{
			this.GetSubscriberListAsync(AuthUserName, AuthPassword, DomainName, ListName, null);
		}

		/// <remarks/>
		public void GetSubscriberListAsync(string AuthUserName, string AuthPassword, string DomainName, string ListName, object userState)
		{
			if ((this.GetSubscriberListOperationCompleted == null))
			{
				this.GetSubscriberListOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetSubscriberListOperationCompleted);
			}
			this.InvokeAsync("GetSubscriberList", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    ListName}, this.GetSubscriberListOperationCompleted, userState);
		}

		private void OnGetSubscriberListOperationCompleted(object arg)
		{
			if ((this.GetSubscriberListCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.GetSubscriberListCompleted(this, new GetSubscriberListCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetDigestSubscriberList", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public SubscriberListResult GetDigestSubscriberList(string AuthUserName, string AuthPassword, string DomainName, string ListName)
		{
			object[] results = this.Invoke("GetDigestSubscriberList", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    ListName});
			return ((SubscriberListResult)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginGetDigestSubscriberList(string AuthUserName, string AuthPassword, string DomainName, string ListName, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("GetDigestSubscriberList", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    ListName}, callback, asyncState);
		}

		/// <remarks/>
		public SubscriberListResult EndGetDigestSubscriberList(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((SubscriberListResult)(results[0]));
		}

		/// <remarks/>
		public void GetDigestSubscriberListAsync(string AuthUserName, string AuthPassword, string DomainName, string ListName)
		{
			this.GetDigestSubscriberListAsync(AuthUserName, AuthPassword, DomainName, ListName, null);
		}

		/// <remarks/>
		public void GetDigestSubscriberListAsync(string AuthUserName, string AuthPassword, string DomainName, string ListName, object userState)
		{
			if ((this.GetDigestSubscriberListOperationCompleted == null))
			{
				this.GetDigestSubscriberListOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetDigestSubscriberListOperationCompleted);
			}
			this.InvokeAsync("GetDigestSubscriberList", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    ListName}, this.GetDigestSubscriberListOperationCompleted, userState);
		}

		private void OnGetDigestSubscriberListOperationCompleted(object arg)
		{
			if ((this.GetDigestSubscriberListCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.GetDigestSubscriberListCompleted(this, new GetDigestSubscriberListCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/SetSubscriberList", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public GenericResult SetSubscriberList(string AuthUserName, string AuthPassword, string DomainName, string ListName, string[] Subscribers)
		{
			object[] results = this.Invoke("SetSubscriberList", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    ListName,
                    Subscribers});
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginSetSubscriberList(string AuthUserName, string AuthPassword, string DomainName, string ListName, string[] Subscribers, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("SetSubscriberList", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    ListName,
                    Subscribers}, callback, asyncState);
		}

		/// <remarks/>
		public GenericResult EndSetSubscriberList(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public void SetSubscriberListAsync(string AuthUserName, string AuthPassword, string DomainName, string ListName, string[] Subscribers)
		{
			this.SetSubscriberListAsync(AuthUserName, AuthPassword, DomainName, ListName, Subscribers, null);
		}

		/// <remarks/>
		public void SetSubscriberListAsync(string AuthUserName, string AuthPassword, string DomainName, string ListName, string[] Subscribers, object userState)
		{
			if ((this.SetSubscriberListOperationCompleted == null))
			{
				this.SetSubscriberListOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetSubscriberListOperationCompleted);
			}
			this.InvokeAsync("SetSubscriberList", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    ListName,
                    Subscribers}, this.SetSubscriberListOperationCompleted, userState);
		}

		private void OnSetSubscriberListOperationCompleted(object arg)
		{
			if ((this.SetSubscriberListCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.SetSubscriberListCompleted(this, new SetSubscriberListCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/SetDigestSubscriberList", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public GenericResult SetDigestSubscriberList(string AuthUserName, string AuthPassword, string DomainName, string ListName, string[] Subscribers)
		{
			object[] results = this.Invoke("SetDigestSubscriberList", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    ListName,
                    Subscribers});
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginSetDigestSubscriberList(string AuthUserName, string AuthPassword, string DomainName, string ListName, string[] Subscribers, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("SetDigestSubscriberList", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    ListName,
                    Subscribers}, callback, asyncState);
		}

		/// <remarks/>
		public GenericResult EndSetDigestSubscriberList(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public void SetDigestSubscriberListAsync(string AuthUserName, string AuthPassword, string DomainName, string ListName, string[] Subscribers)
		{
			this.SetDigestSubscriberListAsync(AuthUserName, AuthPassword, DomainName, ListName, Subscribers, null);
		}

		/// <remarks/>
		public void SetDigestSubscriberListAsync(string AuthUserName, string AuthPassword, string DomainName, string ListName, string[] Subscribers, object userState)
		{
			if ((this.SetDigestSubscriberListOperationCompleted == null))
			{
				this.SetDigestSubscriberListOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetDigestSubscriberListOperationCompleted);
			}
			this.InvokeAsync("SetDigestSubscriberList", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    ListName,
                    Subscribers}, this.SetDigestSubscriberListOperationCompleted, userState);
		}

		private void OnSetDigestSubscriberListOperationCompleted(object arg)
		{
			if ((this.SetDigestSubscriberListCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.SetDigestSubscriberListCompleted(this, new SetDigestSubscriberListCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		public new void CancelAsync(object userState)
		{
			base.CancelAsync(userState);
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.SerializableAttribute()]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	[System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://tempuri.org/")]
	public partial class SubscriberListResult
	{

		/// <remarks/>
		public bool Result;

		/// <remarks/>
		public int ResultCode;

		/// <remarks/>
		public string Message;

		/// <remarks/>
		public string[] Subscribers;
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.SerializableAttribute()]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	[System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://tempuri.org/")]
	public partial class ListCommandResult
	{

		/// <remarks/>
		public bool Result;

		/// <remarks/>
		public int ResultCode;

		/// <remarks/>
		public string Message;

		/// <remarks/>
		public string commandAddress;
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.SerializableAttribute()]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	[System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://tempuri.org/")]
	public partial class MailingListResult
	{

		/// <remarks/>
		public bool Result;

		/// <remarks/>
		public int ResultCode;

		/// <remarks/>
		public string Message;

		/// <remarks/>
		public string[] listNames;
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	public delegate void SetRequestedListSettingsCompletedEventHandler(object sender, SetRequestedListSettingsCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class SetRequestedListSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal SetRequestedListSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
			base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public GenericResult Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((GenericResult)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	public delegate void GetRequestedListSettingsCompletedEventHandler(object sender, GetRequestedListSettingsCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class GetRequestedListSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal GetRequestedListSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
			base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public SettingsRequestResult Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((SettingsRequestResult)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	public delegate void GetMailingListsByDomainCompletedEventHandler(object sender, GetMailingListsByDomainCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class GetMailingListsByDomainCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal GetMailingListsByDomainCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
			base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public MailingListResult Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((MailingListResult)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	public delegate void DeleteAllListsCompletedEventHandler(object sender, DeleteAllListsCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class DeleteAllListsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal DeleteAllListsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
			base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public GenericResult Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((GenericResult)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	public delegate void DeleteListCompletedEventHandler(object sender, DeleteListCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class DeleteListCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal DeleteListCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
			base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public GenericResult Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((GenericResult)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	public delegate void GetListCommandAddressCompletedEventHandler(object sender, GetListCommandAddressCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class GetListCommandAddressCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal GetListCommandAddressCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
			base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public ListCommandResult Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((ListCommandResult)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	public delegate void SetListCommandAddressCompletedEventHandler(object sender, SetListCommandAddressCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class SetListCommandAddressCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal SetListCommandAddressCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
			base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public GenericResult Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((GenericResult)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	public delegate void AddListCompletedEventHandler(object sender, AddListCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class AddListCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal AddListCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
			base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public GenericResult Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((GenericResult)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	public delegate void AddSubscriberCompletedEventHandler(object sender, AddSubscriberCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class AddSubscriberCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal AddSubscriberCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
			base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public GenericResult Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((GenericResult)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	public delegate void AddDigestSubscriberCompletedEventHandler(object sender, AddDigestSubscriberCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class AddDigestSubscriberCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal AddDigestSubscriberCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
			base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public GenericResult Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((GenericResult)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	public delegate void RemoveSubscriberCompletedEventHandler(object sender, RemoveSubscriberCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class RemoveSubscriberCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal RemoveSubscriberCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
			base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public GenericResult Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((GenericResult)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	public delegate void RemoveDigestSubscriberCompletedEventHandler(object sender, RemoveDigestSubscriberCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class RemoveDigestSubscriberCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal RemoveDigestSubscriberCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
			base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public GenericResult Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((GenericResult)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	public delegate void GetSubscriberListCompletedEventHandler(object sender, GetSubscriberListCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class GetSubscriberListCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal GetSubscriberListCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
			base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public SubscriberListResult Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((SubscriberListResult)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	public delegate void GetDigestSubscriberListCompletedEventHandler(object sender, GetDigestSubscriberListCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class GetDigestSubscriberListCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal GetDigestSubscriberListCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
			base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public SubscriberListResult Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((SubscriberListResult)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	public delegate void SetSubscriberListCompletedEventHandler(object sender, SetSubscriberListCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class SetSubscriberListCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal SetSubscriberListCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
			base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public GenericResult Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((GenericResult)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	public delegate void SetDigestSubscriberListCompletedEventHandler(object sender, SetDigestSubscriberListCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class SetDigestSubscriberListCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal SetDigestSubscriberListCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
			base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public GenericResult Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((GenericResult)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	[System.Web.Services.WebServiceBindingAttribute(Name = "svcUserAdminSoap", Namespace = "http://tempuri.org/")]
	public partial class svcUserAdmin : System.Web.Services.Protocols.SoapHttpClientProtocol
	{

		private System.Threading.SendOrPostCallback AddUserOperationCompleted;

		private System.Threading.SendOrPostCallback AddUser2OperationCompleted;

		private System.Threading.SendOrPostCallback AuthenticateUserOperationCompleted;

		private System.Threading.SendOrPostCallback UpdateUserOperationCompleted;

		private System.Threading.SendOrPostCallback UpdateUser2OperationCompleted;

		private System.Threading.SendOrPostCallback UpdateUserForwardingInfoOperationCompleted;

		private System.Threading.SendOrPostCallback UpdateUserForwardingInfo2OperationCompleted;

		private System.Threading.SendOrPostCallback UpdateUserAutoResponseInfoOperationCompleted;

		private System.Threading.SendOrPostCallback DeleteUserOperationCompleted;

		private System.Threading.SendOrPostCallback GetUserOperationCompleted;

		private System.Threading.SendOrPostCallback GetRequestedUserSettingsOperationCompleted;

		private System.Threading.SendOrPostCallback SetRequestedUserSettingsOperationCompleted;

		private System.Threading.SendOrPostCallback GetInactiveUsersOperationCompleted;

		private System.Threading.SendOrPostCallback GetUserForwardingInfoOperationCompleted;

		private System.Threading.SendOrPostCallback GetUserAutoResponseInfoOperationCompleted;

		private System.Threading.SendOrPostCallback GetUsersOperationCompleted;

		private System.Threading.SendOrPostCallback LoginValidatedOperationCompleted;

		private System.Threading.SendOrPostCallback GetUserStatsOperationCompleted;

		private System.Threading.SendOrPostCallback AddUserGroupOperationCompleted;

		private System.Threading.SendOrPostCallback RemoveUserGroupOperationCompleted;

		private System.Threading.SendOrPostCallback UpdateUserGroupOperationCompleted;

		private System.Threading.SendOrPostCallback GetUserGroupOperationCompleted;

		private System.Threading.SendOrPostCallback GetUserGroupsByUserOperationCompleted;

		private System.Threading.SendOrPostCallback GetUserGroupsByDomainOperationCompleted;

		/// <remarks/>
		public svcUserAdmin()
		{
			this.Url = "http://localhost:9998/Services/svcUserAdmin.asmx";
		}

		/// <remarks/>
		public event AddUserCompletedEventHandler AddUserCompleted;

		/// <remarks/>
		public event AddUser2CompletedEventHandler AddUser2Completed;

		/// <remarks/>
		public event AuthenticateUserCompletedEventHandler AuthenticateUserCompleted;

		/// <remarks/>
		public event UpdateUserCompletedEventHandler UpdateUserCompleted;

		/// <remarks/>
		public event UpdateUser2CompletedEventHandler UpdateUser2Completed;

		/// <remarks/>
		public event UpdateUserForwardingInfoCompletedEventHandler UpdateUserForwardingInfoCompleted;

		/// <remarks/>
		public event UpdateUserForwardingInfo2CompletedEventHandler UpdateUserForwardingInfo2Completed;

		/// <remarks/>
		public event UpdateUserAutoResponseInfoCompletedEventHandler UpdateUserAutoResponseInfoCompleted;

		/// <remarks/>
		public event DeleteUserCompletedEventHandler DeleteUserCompleted;

		/// <remarks/>
		public event GetUserCompletedEventHandler GetUserCompleted;

		/// <remarks/>
		public event GetRequestedUserSettingsCompletedEventHandler GetRequestedUserSettingsCompleted;

		/// <remarks/>
		public event SetRequestedUserSettingsCompletedEventHandler SetRequestedUserSettingsCompleted;

		/// <remarks/>
		public event GetInactiveUsersCompletedEventHandler GetInactiveUsersCompleted;

		/// <remarks/>
		public event GetUserForwardingInfoCompletedEventHandler GetUserForwardingInfoCompleted;

		/// <remarks/>
		public event GetUserAutoResponseInfoCompletedEventHandler GetUserAutoResponseInfoCompleted;

		/// <remarks/>
		public event GetUsersCompletedEventHandler GetUsersCompleted;

		/// <remarks/>
		public event LoginValidatedCompletedEventHandler LoginValidatedCompleted;

		/// <remarks/>
		public event GetUserStatsCompletedEventHandler GetUserStatsCompleted;

		/// <remarks/>
		public event AddUserGroupCompletedEventHandler AddUserGroupCompleted;

		/// <remarks/>
		public event RemoveUserGroupCompletedEventHandler RemoveUserGroupCompleted;

		/// <remarks/>
		public event UpdateUserGroupCompletedEventHandler UpdateUserGroupCompleted;

		/// <remarks/>
		public event GetUserGroupCompletedEventHandler GetUserGroupCompleted;

		/// <remarks/>
		public event GetUserGroupsByUserCompletedEventHandler GetUserGroupsByUserCompleted;

		/// <remarks/>
		public event GetUserGroupsByDomainCompletedEventHandler GetUserGroupsByDomainCompleted;

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/AddUser", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public GenericResult AddUser(string AuthUserName, string AuthPassword, string NewUsername, string NewPassword, string DomainName, string FirstName, string LastName, bool IsDomainAdmin)
		{
			object[] results = this.Invoke("AddUser", new object[] {
                    AuthUserName,
                    AuthPassword,
                    NewUsername,
                    NewPassword,
                    DomainName,
                    FirstName,
                    LastName,
                    IsDomainAdmin});
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginAddUser(string AuthUserName, string AuthPassword, string NewUsername, string NewPassword, string DomainName, string FirstName, string LastName, bool IsDomainAdmin, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("AddUser", new object[] {
                    AuthUserName,
                    AuthPassword,
                    NewUsername,
                    NewPassword,
                    DomainName,
                    FirstName,
                    LastName,
                    IsDomainAdmin}, callback, asyncState);
		}

		/// <remarks/>
		public GenericResult EndAddUser(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public void AddUserAsync(string AuthUserName, string AuthPassword, string NewUsername, string NewPassword, string DomainName, string FirstName, string LastName, bool IsDomainAdmin)
		{
			this.AddUserAsync(AuthUserName, AuthPassword, NewUsername, NewPassword, DomainName, FirstName, LastName, IsDomainAdmin, null);
		}

		/// <remarks/>
		public void AddUserAsync(string AuthUserName, string AuthPassword, string NewUsername, string NewPassword, string DomainName, string FirstName, string LastName, bool IsDomainAdmin, object userState)
		{
			if ((this.AddUserOperationCompleted == null))
			{
				this.AddUserOperationCompleted = new System.Threading.SendOrPostCallback(this.OnAddUserOperationCompleted);
			}
			this.InvokeAsync("AddUser", new object[] {
                    AuthUserName,
                    AuthPassword,
                    NewUsername,
                    NewPassword,
                    DomainName,
                    FirstName,
                    LastName,
                    IsDomainAdmin}, this.AddUserOperationCompleted, userState);
		}

		private void OnAddUserOperationCompleted(object arg)
		{
			if ((this.AddUserCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.AddUserCompleted(this, new AddUserCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/AddUser2", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public GenericResult AddUser2(string AuthUserName, string AuthPassword, string NewUsername, string NewPassword, string DomainName, string FirstName, string LastName, bool IsDomainAdmin, int maxMailboxSize)
		{
			object[] results = this.Invoke("AddUser2", new object[] {
                    AuthUserName,
                    AuthPassword,
                    NewUsername,
                    NewPassword,
                    DomainName,
                    FirstName,
                    LastName,
                    IsDomainAdmin,
                    maxMailboxSize});
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginAddUser2(string AuthUserName, string AuthPassword, string NewUsername, string NewPassword, string DomainName, string FirstName, string LastName, bool IsDomainAdmin, int maxMailboxSize, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("AddUser2", new object[] {
                    AuthUserName,
                    AuthPassword,
                    NewUsername,
                    NewPassword,
                    DomainName,
                    FirstName,
                    LastName,
                    IsDomainAdmin,
                    maxMailboxSize}, callback, asyncState);
		}

		/// <remarks/>
		public GenericResult EndAddUser2(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public void AddUser2Async(string AuthUserName, string AuthPassword, string NewUsername, string NewPassword, string DomainName, string FirstName, string LastName, bool IsDomainAdmin, int maxMailboxSize)
		{
			this.AddUser2Async(AuthUserName, AuthPassword, NewUsername, NewPassword, DomainName, FirstName, LastName, IsDomainAdmin, maxMailboxSize, null);
		}

		/// <remarks/>
		public void AddUser2Async(string AuthUserName, string AuthPassword, string NewUsername, string NewPassword, string DomainName, string FirstName, string LastName, bool IsDomainAdmin, int maxMailboxSize, object userState)
		{
			if ((this.AddUser2OperationCompleted == null))
			{
				this.AddUser2OperationCompleted = new System.Threading.SendOrPostCallback(this.OnAddUser2OperationCompleted);
			}
			this.InvokeAsync("AddUser2", new object[] {
                    AuthUserName,
                    AuthPassword,
                    NewUsername,
                    NewPassword,
                    DomainName,
                    FirstName,
                    LastName,
                    IsDomainAdmin,
                    maxMailboxSize}, this.AddUser2OperationCompleted, userState);
		}

		private void OnAddUser2OperationCompleted(object arg)
		{
			if ((this.AddUser2Completed != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.AddUser2Completed(this, new AddUser2CompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/AuthenticateUser", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public GenericResult AuthenticateUser(string UserName, string DomainName, string Password)
		{
			object[] results = this.Invoke("AuthenticateUser", new object[] {
                    UserName,
                    DomainName,
                    Password});
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginAuthenticateUser(string UserName, string DomainName, string Password, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("AuthenticateUser", new object[] {
                    UserName,
                    DomainName,
                    Password}, callback, asyncState);
		}

		/// <remarks/>
		public GenericResult EndAuthenticateUser(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public void AuthenticateUserAsync(string UserName, string DomainName, string Password)
		{
			this.AuthenticateUserAsync(UserName, DomainName, Password, null);
		}

		/// <remarks/>
		public void AuthenticateUserAsync(string UserName, string DomainName, string Password, object userState)
		{
			if ((this.AuthenticateUserOperationCompleted == null))
			{
				this.AuthenticateUserOperationCompleted = new System.Threading.SendOrPostCallback(this.OnAuthenticateUserOperationCompleted);
			}
			this.InvokeAsync("AuthenticateUser", new object[] {
                    UserName,
                    DomainName,
                    Password}, this.AuthenticateUserOperationCompleted, userState);
		}

		private void OnAuthenticateUserOperationCompleted(object arg)
		{
			if ((this.AuthenticateUserCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.AuthenticateUserCompleted(this, new AuthenticateUserCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/UpdateUser", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public GenericResult UpdateUser(string AuthUserName, string AuthPassword, string EmailAddress, string NewPassword, string NewFirstName, string NewLastName, bool IsDomainAdmin)
		{
			object[] results = this.Invoke("UpdateUser", new object[] {
                    AuthUserName,
                    AuthPassword,
                    EmailAddress,
                    NewPassword,
                    NewFirstName,
                    NewLastName,
                    IsDomainAdmin});
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginUpdateUser(string AuthUserName, string AuthPassword, string EmailAddress, string NewPassword, string NewFirstName, string NewLastName, bool IsDomainAdmin, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("UpdateUser", new object[] {
                    AuthUserName,
                    AuthPassword,
                    EmailAddress,
                    NewPassword,
                    NewFirstName,
                    NewLastName,
                    IsDomainAdmin}, callback, asyncState);
		}

		/// <remarks/>
		public GenericResult EndUpdateUser(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public void UpdateUserAsync(string AuthUserName, string AuthPassword, string EmailAddress, string NewPassword, string NewFirstName, string NewLastName, bool IsDomainAdmin)
		{
			this.UpdateUserAsync(AuthUserName, AuthPassword, EmailAddress, NewPassword, NewFirstName, NewLastName, IsDomainAdmin, null);
		}

		/// <remarks/>
		public void UpdateUserAsync(string AuthUserName, string AuthPassword, string EmailAddress, string NewPassword, string NewFirstName, string NewLastName, bool IsDomainAdmin, object userState)
		{
			if ((this.UpdateUserOperationCompleted == null))
			{
				this.UpdateUserOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUpdateUserOperationCompleted);
			}
			this.InvokeAsync("UpdateUser", new object[] {
                    AuthUserName,
                    AuthPassword,
                    EmailAddress,
                    NewPassword,
                    NewFirstName,
                    NewLastName,
                    IsDomainAdmin}, this.UpdateUserOperationCompleted, userState);
		}

		private void OnUpdateUserOperationCompleted(object arg)
		{
			if ((this.UpdateUserCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.UpdateUserCompleted(this, new UpdateUserCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/UpdateUser2", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public GenericResult UpdateUser2(string AuthUserName, string AuthPassword, string EmailAddress, string NewPassword, string NewFirstName, string NewLastName, bool IsDomainAdmin, int maxMailboxSize)
		{
			object[] results = this.Invoke("UpdateUser2", new object[] {
                    AuthUserName,
                    AuthPassword,
                    EmailAddress,
                    NewPassword,
                    NewFirstName,
                    NewLastName,
                    IsDomainAdmin,
                    maxMailboxSize});
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginUpdateUser2(string AuthUserName, string AuthPassword, string EmailAddress, string NewPassword, string NewFirstName, string NewLastName, bool IsDomainAdmin, int maxMailboxSize, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("UpdateUser2", new object[] {
                    AuthUserName,
                    AuthPassword,
                    EmailAddress,
                    NewPassword,
                    NewFirstName,
                    NewLastName,
                    IsDomainAdmin,
                    maxMailboxSize}, callback, asyncState);
		}

		/// <remarks/>
		public GenericResult EndUpdateUser2(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public void UpdateUser2Async(string AuthUserName, string AuthPassword, string EmailAddress, string NewPassword, string NewFirstName, string NewLastName, bool IsDomainAdmin, int maxMailboxSize)
		{
			this.UpdateUser2Async(AuthUserName, AuthPassword, EmailAddress, NewPassword, NewFirstName, NewLastName, IsDomainAdmin, maxMailboxSize, null);
		}

		/// <remarks/>
		public void UpdateUser2Async(string AuthUserName, string AuthPassword, string EmailAddress, string NewPassword, string NewFirstName, string NewLastName, bool IsDomainAdmin, int maxMailboxSize, object userState)
		{
			if ((this.UpdateUser2OperationCompleted == null))
			{
				this.UpdateUser2OperationCompleted = new System.Threading.SendOrPostCallback(this.OnUpdateUser2OperationCompleted);
			}
			this.InvokeAsync("UpdateUser2", new object[] {
                    AuthUserName,
                    AuthPassword,
                    EmailAddress,
                    NewPassword,
                    NewFirstName,
                    NewLastName,
                    IsDomainAdmin,
                    maxMailboxSize}, this.UpdateUser2OperationCompleted, userState);
		}

		private void OnUpdateUser2OperationCompleted(object arg)
		{
			if ((this.UpdateUser2Completed != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.UpdateUser2Completed(this, new UpdateUser2CompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/UpdateUserForwardingInfo", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public GenericResult UpdateUserForwardingInfo(string AuthUserName, string AuthPassword, string EmailAddress, bool DeleteOnForward, string ForwardingAddress)
		{
			object[] results = this.Invoke("UpdateUserForwardingInfo", new object[] {
                    AuthUserName,
                    AuthPassword,
                    EmailAddress,
                    DeleteOnForward,
                    ForwardingAddress});
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginUpdateUserForwardingInfo(string AuthUserName, string AuthPassword, string EmailAddress, bool DeleteOnForward, string ForwardingAddress, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("UpdateUserForwardingInfo", new object[] {
                    AuthUserName,
                    AuthPassword,
                    EmailAddress,
                    DeleteOnForward,
                    ForwardingAddress}, callback, asyncState);
		}

		/// <remarks/>
		public GenericResult EndUpdateUserForwardingInfo(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public void UpdateUserForwardingInfoAsync(string AuthUserName, string AuthPassword, string EmailAddress, bool DeleteOnForward, string ForwardingAddress)
		{
			this.UpdateUserForwardingInfoAsync(AuthUserName, AuthPassword, EmailAddress, DeleteOnForward, ForwardingAddress, null);
		}

		/// <remarks/>
		public void UpdateUserForwardingInfoAsync(string AuthUserName, string AuthPassword, string EmailAddress, bool DeleteOnForward, string ForwardingAddress, object userState)
		{
			if ((this.UpdateUserForwardingInfoOperationCompleted == null))
			{
				this.UpdateUserForwardingInfoOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUpdateUserForwardingInfoOperationCompleted);
			}
			this.InvokeAsync("UpdateUserForwardingInfo", new object[] {
                    AuthUserName,
                    AuthPassword,
                    EmailAddress,
                    DeleteOnForward,
                    ForwardingAddress}, this.UpdateUserForwardingInfoOperationCompleted, userState);
		}

		private void OnUpdateUserForwardingInfoOperationCompleted(object arg)
		{
			if ((this.UpdateUserForwardingInfoCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.UpdateUserForwardingInfoCompleted(this, new UpdateUserForwardingInfoCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/UpdateUserForwardingInfo2", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public GenericResult UpdateUserForwardingInfo2(string AuthUserName, string AuthPassword, string EmailAddress, bool DeleteOnForward, string[] ForwardingAddresses)
		{
			object[] results = this.Invoke("UpdateUserForwardingInfo2", new object[] {
                    AuthUserName,
                    AuthPassword,
                    EmailAddress,
                    DeleteOnForward,
                    ForwardingAddresses});
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginUpdateUserForwardingInfo2(string AuthUserName, string AuthPassword, string EmailAddress, bool DeleteOnForward, string[] ForwardingAddresses, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("UpdateUserForwardingInfo2", new object[] {
                    AuthUserName,
                    AuthPassword,
                    EmailAddress,
                    DeleteOnForward,
                    ForwardingAddresses}, callback, asyncState);
		}

		/// <remarks/>
		public GenericResult EndUpdateUserForwardingInfo2(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public void UpdateUserForwardingInfo2Async(string AuthUserName, string AuthPassword, string EmailAddress, bool DeleteOnForward, string[] ForwardingAddresses)
		{
			this.UpdateUserForwardingInfo2Async(AuthUserName, AuthPassword, EmailAddress, DeleteOnForward, ForwardingAddresses, null);
		}

		/// <remarks/>
		public void UpdateUserForwardingInfo2Async(string AuthUserName, string AuthPassword, string EmailAddress, bool DeleteOnForward, string[] ForwardingAddresses, object userState)
		{
			if ((this.UpdateUserForwardingInfo2OperationCompleted == null))
			{
				this.UpdateUserForwardingInfo2OperationCompleted = new System.Threading.SendOrPostCallback(this.OnUpdateUserForwardingInfo2OperationCompleted);
			}
			this.InvokeAsync("UpdateUserForwardingInfo2", new object[] {
                    AuthUserName,
                    AuthPassword,
                    EmailAddress,
                    DeleteOnForward,
                    ForwardingAddresses}, this.UpdateUserForwardingInfo2OperationCompleted, userState);
		}

		private void OnUpdateUserForwardingInfo2OperationCompleted(object arg)
		{
			if ((this.UpdateUserForwardingInfo2Completed != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.UpdateUserForwardingInfo2Completed(this, new UpdateUserForwardingInfo2CompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/UpdateUserAutoResponseInfo", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public GenericResult UpdateUserAutoResponseInfo(string AuthUserName, string AuthPassword, string EmailAddress, bool Enabled, string Subject, string Body)
		{
			object[] results = this.Invoke("UpdateUserAutoResponseInfo", new object[] {
                    AuthUserName,
                    AuthPassword,
                    EmailAddress,
                    Enabled,
                    Subject,
                    Body});
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginUpdateUserAutoResponseInfo(string AuthUserName, string AuthPassword, string EmailAddress, bool Enabled, string Subject, string Body, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("UpdateUserAutoResponseInfo", new object[] {
                    AuthUserName,
                    AuthPassword,
                    EmailAddress,
                    Enabled,
                    Subject,
                    Body}, callback, asyncState);
		}

		/// <remarks/>
		public GenericResult EndUpdateUserAutoResponseInfo(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public void UpdateUserAutoResponseInfoAsync(string AuthUserName, string AuthPassword, string EmailAddress, bool Enabled, string Subject, string Body)
		{
			this.UpdateUserAutoResponseInfoAsync(AuthUserName, AuthPassword, EmailAddress, Enabled, Subject, Body, null);
		}

		/// <remarks/>
		public void UpdateUserAutoResponseInfoAsync(string AuthUserName, string AuthPassword, string EmailAddress, bool Enabled, string Subject, string Body, object userState)
		{
			if ((this.UpdateUserAutoResponseInfoOperationCompleted == null))
			{
				this.UpdateUserAutoResponseInfoOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUpdateUserAutoResponseInfoOperationCompleted);
			}
			this.InvokeAsync("UpdateUserAutoResponseInfo", new object[] {
                    AuthUserName,
                    AuthPassword,
                    EmailAddress,
                    Enabled,
                    Subject,
                    Body}, this.UpdateUserAutoResponseInfoOperationCompleted, userState);
		}

		private void OnUpdateUserAutoResponseInfoOperationCompleted(object arg)
		{
			if ((this.UpdateUserAutoResponseInfoCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.UpdateUserAutoResponseInfoCompleted(this, new UpdateUserAutoResponseInfoCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/DeleteUser", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public GenericResult DeleteUser(string AuthUserName, string AuthPassword, string Username, string DomainName)
		{
			object[] results = this.Invoke("DeleteUser", new object[] {
                    AuthUserName,
                    AuthPassword,
                    Username,
                    DomainName});
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginDeleteUser(string AuthUserName, string AuthPassword, string Username, string DomainName, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("DeleteUser", new object[] {
                    AuthUserName,
                    AuthPassword,
                    Username,
                    DomainName}, callback, asyncState);
		}

		/// <remarks/>
		public GenericResult EndDeleteUser(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public void DeleteUserAsync(string AuthUserName, string AuthPassword, string Username, string DomainName)
		{
			this.DeleteUserAsync(AuthUserName, AuthPassword, Username, DomainName, null);
		}

		/// <remarks/>
		public void DeleteUserAsync(string AuthUserName, string AuthPassword, string Username, string DomainName, object userState)
		{
			if ((this.DeleteUserOperationCompleted == null))
			{
				this.DeleteUserOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteUserOperationCompleted);
			}
			this.InvokeAsync("DeleteUser", new object[] {
                    AuthUserName,
                    AuthPassword,
                    Username,
                    DomainName}, this.DeleteUserOperationCompleted, userState);
		}

		private void OnDeleteUserOperationCompleted(object arg)
		{
			if ((this.DeleteUserCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.DeleteUserCompleted(this, new DeleteUserCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetUser", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public UserInfoResult GetUser(string AuthUserName, string AuthPassword, string EmailAddress)
		{
			object[] results = this.Invoke("GetUser", new object[] {
                    AuthUserName,
                    AuthPassword,
                    EmailAddress});
			return ((UserInfoResult)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginGetUser(string AuthUserName, string AuthPassword, string EmailAddress, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("GetUser", new object[] {
                    AuthUserName,
                    AuthPassword,
                    EmailAddress}, callback, asyncState);
		}

		/// <remarks/>
		public UserInfoResult EndGetUser(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((UserInfoResult)(results[0]));
		}

		/// <remarks/>
		public void GetUserAsync(string AuthUserName, string AuthPassword, string EmailAddress)
		{
			this.GetUserAsync(AuthUserName, AuthPassword, EmailAddress, null);
		}

		/// <remarks/>
		public void GetUserAsync(string AuthUserName, string AuthPassword, string EmailAddress, object userState)
		{
			if ((this.GetUserOperationCompleted == null))
			{
				this.GetUserOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetUserOperationCompleted);
			}
			this.InvokeAsync("GetUser", new object[] {
                    AuthUserName,
                    AuthPassword,
                    EmailAddress}, this.GetUserOperationCompleted, userState);
		}

		private void OnGetUserOperationCompleted(object arg)
		{
			if ((this.GetUserCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.GetUserCompleted(this, new GetUserCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetRequestedUserSettings", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public SettingsRequestResult GetRequestedUserSettings(string AuthUserName, string AuthPassword, string EmailAddress, string[] requestedSettings)
		{
			object[] results = this.Invoke("GetRequestedUserSettings", new object[] {
                    AuthUserName,
                    AuthPassword,
                    EmailAddress,
                    requestedSettings});
			return ((SettingsRequestResult)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginGetRequestedUserSettings(string AuthUserName, string AuthPassword, string EmailAddress, string[] requestedSettings, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("GetRequestedUserSettings", new object[] {
                    AuthUserName,
                    AuthPassword,
                    EmailAddress,
                    requestedSettings}, callback, asyncState);
		}

		/// <remarks/>
		public SettingsRequestResult EndGetRequestedUserSettings(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((SettingsRequestResult)(results[0]));
		}

		/// <remarks/>
		public void GetRequestedUserSettingsAsync(string AuthUserName, string AuthPassword, string EmailAddress, string[] requestedSettings)
		{
			this.GetRequestedUserSettingsAsync(AuthUserName, AuthPassword, EmailAddress, requestedSettings, null);
		}

		/// <remarks/>
		public void GetRequestedUserSettingsAsync(string AuthUserName, string AuthPassword, string EmailAddress, string[] requestedSettings, object userState)
		{
			if ((this.GetRequestedUserSettingsOperationCompleted == null))
			{
				this.GetRequestedUserSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetRequestedUserSettingsOperationCompleted);
			}
			this.InvokeAsync("GetRequestedUserSettings", new object[] {
                    AuthUserName,
                    AuthPassword,
                    EmailAddress,
                    requestedSettings}, this.GetRequestedUserSettingsOperationCompleted, userState);
		}

		private void OnGetRequestedUserSettingsOperationCompleted(object arg)
		{
			if ((this.GetRequestedUserSettingsCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.GetRequestedUserSettingsCompleted(this, new GetRequestedUserSettingsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/SetRequestedUserSettings", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public GenericResult SetRequestedUserSettings(string AuthUserName, string AuthPassword, string EmailAddress, string[] newSettings)
		{
			object[] results = this.Invoke("SetRequestedUserSettings", new object[] {
                    AuthUserName,
                    AuthPassword,
                    EmailAddress,
                    newSettings});
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginSetRequestedUserSettings(string AuthUserName, string AuthPassword, string EmailAddress, string[] newSettings, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("SetRequestedUserSettings", new object[] {
                    AuthUserName,
                    AuthPassword,
                    EmailAddress,
                    newSettings}, callback, asyncState);
		}

		/// <remarks/>
		public GenericResult EndSetRequestedUserSettings(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public void SetRequestedUserSettingsAsync(string AuthUserName, string AuthPassword, string EmailAddress, string[] newSettings)
		{
			this.SetRequestedUserSettingsAsync(AuthUserName, AuthPassword, EmailAddress, newSettings, null);
		}

		/// <remarks/>
		public void SetRequestedUserSettingsAsync(string AuthUserName, string AuthPassword, string EmailAddress, string[] newSettings, object userState)
		{
			if ((this.SetRequestedUserSettingsOperationCompleted == null))
			{
				this.SetRequestedUserSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetRequestedUserSettingsOperationCompleted);
			}
			this.InvokeAsync("SetRequestedUserSettings", new object[] {
                    AuthUserName,
                    AuthPassword,
                    EmailAddress,
                    newSettings}, this.SetRequestedUserSettingsOperationCompleted, userState);
		}

		private void OnSetRequestedUserSettingsOperationCompleted(object arg)
		{
			if ((this.SetRequestedUserSettingsCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.SetRequestedUserSettingsCompleted(this, new SetRequestedUserSettingsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetInactiveUsers", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public InactiveUserResult GetInactiveUsers(string AuthUserName, string AuthPassword, System.DateTime date)
		{
			object[] results = this.Invoke("GetInactiveUsers", new object[] {
                    AuthUserName,
                    AuthPassword,
                    date});
			return ((InactiveUserResult)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginGetInactiveUsers(string AuthUserName, string AuthPassword, System.DateTime date, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("GetInactiveUsers", new object[] {
                    AuthUserName,
                    AuthPassword,
                    date}, callback, asyncState);
		}

		/// <remarks/>
		public InactiveUserResult EndGetInactiveUsers(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((InactiveUserResult)(results[0]));
		}

		/// <remarks/>
		public void GetInactiveUsersAsync(string AuthUserName, string AuthPassword, System.DateTime date)
		{
			this.GetInactiveUsersAsync(AuthUserName, AuthPassword, date, null);
		}

		/// <remarks/>
		public void GetInactiveUsersAsync(string AuthUserName, string AuthPassword, System.DateTime date, object userState)
		{
			if ((this.GetInactiveUsersOperationCompleted == null))
			{
				this.GetInactiveUsersOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetInactiveUsersOperationCompleted);
			}
			this.InvokeAsync("GetInactiveUsers", new object[] {
                    AuthUserName,
                    AuthPassword,
                    date}, this.GetInactiveUsersOperationCompleted, userState);
		}

		private void OnGetInactiveUsersOperationCompleted(object arg)
		{
			if ((this.GetInactiveUsersCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.GetInactiveUsersCompleted(this, new GetInactiveUsersCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetUserForwardingInfo", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public UserForwardingInfoResult GetUserForwardingInfo(string AuthUserName, string AuthPassword, string EmailAddress)
		{
			object[] results = this.Invoke("GetUserForwardingInfo", new object[] {
                    AuthUserName,
                    AuthPassword,
                    EmailAddress});
			return ((UserForwardingInfoResult)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginGetUserForwardingInfo(string AuthUserName, string AuthPassword, string EmailAddress, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("GetUserForwardingInfo", new object[] {
                    AuthUserName,
                    AuthPassword,
                    EmailAddress}, callback, asyncState);
		}

		/// <remarks/>
		public UserForwardingInfoResult EndGetUserForwardingInfo(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((UserForwardingInfoResult)(results[0]));
		}

		/// <remarks/>
		public void GetUserForwardingInfoAsync(string AuthUserName, string AuthPassword, string EmailAddress)
		{
			this.GetUserForwardingInfoAsync(AuthUserName, AuthPassword, EmailAddress, null);
		}

		/// <remarks/>
		public void GetUserForwardingInfoAsync(string AuthUserName, string AuthPassword, string EmailAddress, object userState)
		{
			if ((this.GetUserForwardingInfoOperationCompleted == null))
			{
				this.GetUserForwardingInfoOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetUserForwardingInfoOperationCompleted);
			}
			this.InvokeAsync("GetUserForwardingInfo", new object[] {
                    AuthUserName,
                    AuthPassword,
                    EmailAddress}, this.GetUserForwardingInfoOperationCompleted, userState);
		}

		private void OnGetUserForwardingInfoOperationCompleted(object arg)
		{
			if ((this.GetUserForwardingInfoCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.GetUserForwardingInfoCompleted(this, new GetUserForwardingInfoCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetUserAutoResponseInfo", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public UserAutoResponseResult GetUserAutoResponseInfo(string AuthUserName, string AuthPassword, string EmailAddress)
		{
			object[] results = this.Invoke("GetUserAutoResponseInfo", new object[] {
                    AuthUserName,
                    AuthPassword,
                    EmailAddress});
			return ((UserAutoResponseResult)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginGetUserAutoResponseInfo(string AuthUserName, string AuthPassword, string EmailAddress, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("GetUserAutoResponseInfo", new object[] {
                    AuthUserName,
                    AuthPassword,
                    EmailAddress}, callback, asyncState);
		}

		/// <remarks/>
		public UserAutoResponseResult EndGetUserAutoResponseInfo(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((UserAutoResponseResult)(results[0]));
		}

		/// <remarks/>
		public void GetUserAutoResponseInfoAsync(string AuthUserName, string AuthPassword, string EmailAddress)
		{
			this.GetUserAutoResponseInfoAsync(AuthUserName, AuthPassword, EmailAddress, null);
		}

		/// <remarks/>
		public void GetUserAutoResponseInfoAsync(string AuthUserName, string AuthPassword, string EmailAddress, object userState)
		{
			if ((this.GetUserAutoResponseInfoOperationCompleted == null))
			{
				this.GetUserAutoResponseInfoOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetUserAutoResponseInfoOperationCompleted);
			}
			this.InvokeAsync("GetUserAutoResponseInfo", new object[] {
                    AuthUserName,
                    AuthPassword,
                    EmailAddress}, this.GetUserAutoResponseInfoOperationCompleted, userState);
		}

		private void OnGetUserAutoResponseInfoOperationCompleted(object arg)
		{
			if ((this.GetUserAutoResponseInfoCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.GetUserAutoResponseInfoCompleted(this, new GetUserAutoResponseInfoCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetUsers", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public UserInfoListResult GetUsers(string AuthUserName, string AuthPassword, string DomainName)
		{
			object[] results = this.Invoke("GetUsers", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName});
			return ((UserInfoListResult)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginGetUsers(string AuthUserName, string AuthPassword, string DomainName, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("GetUsers", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName}, callback, asyncState);
		}

		/// <remarks/>
		public UserInfoListResult EndGetUsers(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((UserInfoListResult)(results[0]));
		}

		/// <remarks/>
		public void GetUsersAsync(string AuthUserName, string AuthPassword, string DomainName)
		{
			this.GetUsersAsync(AuthUserName, AuthPassword, DomainName, null);
		}

		/// <remarks/>
		public void GetUsersAsync(string AuthUserName, string AuthPassword, string DomainName, object userState)
		{
			if ((this.GetUsersOperationCompleted == null))
			{
				this.GetUsersOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetUsersOperationCompleted);
			}
			this.InvokeAsync("GetUsers", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName}, this.GetUsersOperationCompleted, userState);
		}

		private void OnGetUsersOperationCompleted(object arg)
		{
			if ((this.GetUsersCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.GetUsersCompleted(this, new GetUsersCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/LoginValidated", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public LoginResult LoginValidated(string Username, string Password)
		{
			object[] results = this.Invoke("LoginValidated", new object[] {
                    Username,
                    Password});
			return ((LoginResult)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginLoginValidated(string Username, string Password, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("LoginValidated", new object[] {
                    Username,
                    Password}, callback, asyncState);
		}

		/// <remarks/>
		public LoginResult EndLoginValidated(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((LoginResult)(results[0]));
		}

		/// <remarks/>
		public void LoginValidatedAsync(string Username, string Password)
		{
			this.LoginValidatedAsync(Username, Password, null);
		}

		/// <remarks/>
		public void LoginValidatedAsync(string Username, string Password, object userState)
		{
			if ((this.LoginValidatedOperationCompleted == null))
			{
				this.LoginValidatedOperationCompleted = new System.Threading.SendOrPostCallback(this.OnLoginValidatedOperationCompleted);
			}
			this.InvokeAsync("LoginValidated", new object[] {
                    Username,
                    Password}, this.LoginValidatedOperationCompleted, userState);
		}

		private void OnLoginValidatedOperationCompleted(object arg)
		{
			if ((this.LoginValidatedCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.LoginValidatedCompleted(this, new LoginValidatedCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetUserStats", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public StatInfoResult GetUserStats(string AuthUserName, string AuthPassword, string EmailAddress, System.DateTime Start, System.DateTime End)
		{
			object[] results = this.Invoke("GetUserStats", new object[] {
                    AuthUserName,
                    AuthPassword,
                    EmailAddress,
                    Start,
                    End});
			return ((StatInfoResult)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginGetUserStats(string AuthUserName, string AuthPassword, string EmailAddress, System.DateTime Start, System.DateTime End, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("GetUserStats", new object[] {
                    AuthUserName,
                    AuthPassword,
                    EmailAddress,
                    Start,
                    End}, callback, asyncState);
		}

		/// <remarks/>
		public StatInfoResult EndGetUserStats(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((StatInfoResult)(results[0]));
		}

		/// <remarks/>
		public void GetUserStatsAsync(string AuthUserName, string AuthPassword, string EmailAddress, System.DateTime Start, System.DateTime End)
		{
			this.GetUserStatsAsync(AuthUserName, AuthPassword, EmailAddress, Start, End, null);
		}

		/// <remarks/>
		public void GetUserStatsAsync(string AuthUserName, string AuthPassword, string EmailAddress, System.DateTime Start, System.DateTime End, object userState)
		{
			if ((this.GetUserStatsOperationCompleted == null))
			{
				this.GetUserStatsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetUserStatsOperationCompleted);
			}
			this.InvokeAsync("GetUserStats", new object[] {
                    AuthUserName,
                    AuthPassword,
                    EmailAddress,
                    Start,
                    End}, this.GetUserStatsOperationCompleted, userState);
		}

		private void OnGetUserStatsOperationCompleted(object arg)
		{
			if ((this.GetUserStatsCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.GetUserStatsCompleted(this, new GetUserStatsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/AddUserGroup", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public GenericResult AddUserGroup(string AuthUserName, string AuthPassword, string DomainName, string UserGroupName, string[] UserNames)
		{
			object[] results = this.Invoke("AddUserGroup", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    UserGroupName,
                    UserNames});
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginAddUserGroup(string AuthUserName, string AuthPassword, string DomainName, string UserGroupName, string[] UserNames, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("AddUserGroup", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    UserGroupName,
                    UserNames}, callback, asyncState);
		}

		/// <remarks/>
		public GenericResult EndAddUserGroup(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public void AddUserGroupAsync(string AuthUserName, string AuthPassword, string DomainName, string UserGroupName, string[] UserNames)
		{
			this.AddUserGroupAsync(AuthUserName, AuthPassword, DomainName, UserGroupName, UserNames, null);
		}

		/// <remarks/>
		public void AddUserGroupAsync(string AuthUserName, string AuthPassword, string DomainName, string UserGroupName, string[] UserNames, object userState)
		{
			if ((this.AddUserGroupOperationCompleted == null))
			{
				this.AddUserGroupOperationCompleted = new System.Threading.SendOrPostCallback(this.OnAddUserGroupOperationCompleted);
			}
			this.InvokeAsync("AddUserGroup", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    UserGroupName,
                    UserNames}, this.AddUserGroupOperationCompleted, userState);
		}

		private void OnAddUserGroupOperationCompleted(object arg)
		{
			if ((this.AddUserGroupCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.AddUserGroupCompleted(this, new AddUserGroupCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/RemoveUserGroup", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public GenericResult RemoveUserGroup(string AuthUserName, string AuthPassword, string DomainName, string UserGroupID)
		{
			object[] results = this.Invoke("RemoveUserGroup", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    UserGroupID});
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginRemoveUserGroup(string AuthUserName, string AuthPassword, string DomainName, string UserGroupID, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("RemoveUserGroup", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    UserGroupID}, callback, asyncState);
		}

		/// <remarks/>
		public GenericResult EndRemoveUserGroup(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public void RemoveUserGroupAsync(string AuthUserName, string AuthPassword, string DomainName, string UserGroupID)
		{
			this.RemoveUserGroupAsync(AuthUserName, AuthPassword, DomainName, UserGroupID, null);
		}

		/// <remarks/>
		public void RemoveUserGroupAsync(string AuthUserName, string AuthPassword, string DomainName, string UserGroupID, object userState)
		{
			if ((this.RemoveUserGroupOperationCompleted == null))
			{
				this.RemoveUserGroupOperationCompleted = new System.Threading.SendOrPostCallback(this.OnRemoveUserGroupOperationCompleted);
			}
			this.InvokeAsync("RemoveUserGroup", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    UserGroupID}, this.RemoveUserGroupOperationCompleted, userState);
		}

		private void OnRemoveUserGroupOperationCompleted(object arg)
		{
			if ((this.RemoveUserGroupCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.RemoveUserGroupCompleted(this, new RemoveUserGroupCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/UpdateUserGroup", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public GenericResult UpdateUserGroup(string AuthUserName, string AuthPassword, string DomainName, string UserGroupID, string UserGroupName, string[] UserNames)
		{
			object[] results = this.Invoke("UpdateUserGroup", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    UserGroupID,
                    UserGroupName,
                    UserNames});
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginUpdateUserGroup(string AuthUserName, string AuthPassword, string DomainName, string UserGroupID, string UserGroupName, string[] UserNames, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("UpdateUserGroup", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    UserGroupID,
                    UserGroupName,
                    UserNames}, callback, asyncState);
		}

		/// <remarks/>
		public GenericResult EndUpdateUserGroup(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public void UpdateUserGroupAsync(string AuthUserName, string AuthPassword, string DomainName, string UserGroupID, string UserGroupName, string[] UserNames)
		{
			this.UpdateUserGroupAsync(AuthUserName, AuthPassword, DomainName, UserGroupID, UserGroupName, UserNames, null);
		}

		/// <remarks/>
		public void UpdateUserGroupAsync(string AuthUserName, string AuthPassword, string DomainName, string UserGroupID, string UserGroupName, string[] UserNames, object userState)
		{
			if ((this.UpdateUserGroupOperationCompleted == null))
			{
				this.UpdateUserGroupOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUpdateUserGroupOperationCompleted);
			}
			this.InvokeAsync("UpdateUserGroup", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    UserGroupID,
                    UserGroupName,
                    UserNames}, this.UpdateUserGroupOperationCompleted, userState);
		}

		private void OnUpdateUserGroupOperationCompleted(object arg)
		{
			if ((this.UpdateUserGroupCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.UpdateUserGroupCompleted(this, new UpdateUserGroupCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetUserGroup", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public UserGroupInfoResult GetUserGroup(string AuthUserName, string AuthPassword, string DomainName, string UserGroupID)
		{
			object[] results = this.Invoke("GetUserGroup", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    UserGroupID});
			return ((UserGroupInfoResult)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginGetUserGroup(string AuthUserName, string AuthPassword, string DomainName, string UserGroupID, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("GetUserGroup", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    UserGroupID}, callback, asyncState);
		}

		/// <remarks/>
		public UserGroupInfoResult EndGetUserGroup(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((UserGroupInfoResult)(results[0]));
		}

		/// <remarks/>
		public void GetUserGroupAsync(string AuthUserName, string AuthPassword, string DomainName, string UserGroupID)
		{
			this.GetUserGroupAsync(AuthUserName, AuthPassword, DomainName, UserGroupID, null);
		}

		/// <remarks/>
		public void GetUserGroupAsync(string AuthUserName, string AuthPassword, string DomainName, string UserGroupID, object userState)
		{
			if ((this.GetUserGroupOperationCompleted == null))
			{
				this.GetUserGroupOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetUserGroupOperationCompleted);
			}
			this.InvokeAsync("GetUserGroup", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    UserGroupID}, this.GetUserGroupOperationCompleted, userState);
		}

		private void OnGetUserGroupOperationCompleted(object arg)
		{
			if ((this.GetUserGroupCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.GetUserGroupCompleted(this, new GetUserGroupCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetUserGroupsByUser", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public UserGroupsResult GetUserGroupsByUser(string AuthUserName, string AuthPassword, string DomainName, string UserName, bool IncludeUserNames)
		{
			object[] results = this.Invoke("GetUserGroupsByUser", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    UserName,
                    IncludeUserNames});
			return ((UserGroupsResult)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginGetUserGroupsByUser(string AuthUserName, string AuthPassword, string DomainName, string UserName, bool IncludeUserNames, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("GetUserGroupsByUser", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    UserName,
                    IncludeUserNames}, callback, asyncState);
		}

		/// <remarks/>
		public UserGroupsResult EndGetUserGroupsByUser(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((UserGroupsResult)(results[0]));
		}

		/// <remarks/>
		public void GetUserGroupsByUserAsync(string AuthUserName, string AuthPassword, string DomainName, string UserName, bool IncludeUserNames)
		{
			this.GetUserGroupsByUserAsync(AuthUserName, AuthPassword, DomainName, UserName, IncludeUserNames, null);
		}

		/// <remarks/>
		public void GetUserGroupsByUserAsync(string AuthUserName, string AuthPassword, string DomainName, string UserName, bool IncludeUserNames, object userState)
		{
			if ((this.GetUserGroupsByUserOperationCompleted == null))
			{
				this.GetUserGroupsByUserOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetUserGroupsByUserOperationCompleted);
			}
			this.InvokeAsync("GetUserGroupsByUser", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName,
                    UserName,
                    IncludeUserNames}, this.GetUserGroupsByUserOperationCompleted, userState);
		}

		private void OnGetUserGroupsByUserOperationCompleted(object arg)
		{
			if ((this.GetUserGroupsByUserCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.GetUserGroupsByUserCompleted(this, new GetUserGroupsByUserCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetUserGroupsByDomain", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public UserGroupsResult GetUserGroupsByDomain(string AuthUserName, string AuthPassword, string DomainName)
		{
			object[] results = this.Invoke("GetUserGroupsByDomain", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName});
			return ((UserGroupsResult)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginGetUserGroupsByDomain(string AuthUserName, string AuthPassword, string DomainName, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("GetUserGroupsByDomain", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName}, callback, asyncState);
		}

		/// <remarks/>
		public UserGroupsResult EndGetUserGroupsByDomain(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((UserGroupsResult)(results[0]));
		}

		/// <remarks/>
		public void GetUserGroupsByDomainAsync(string AuthUserName, string AuthPassword, string DomainName)
		{
			this.GetUserGroupsByDomainAsync(AuthUserName, AuthPassword, DomainName, null);
		}

		/// <remarks/>
		public void GetUserGroupsByDomainAsync(string AuthUserName, string AuthPassword, string DomainName, object userState)
		{
			if ((this.GetUserGroupsByDomainOperationCompleted == null))
			{
				this.GetUserGroupsByDomainOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetUserGroupsByDomainOperationCompleted);
			}
			this.InvokeAsync("GetUserGroupsByDomain", new object[] {
                    AuthUserName,
                    AuthPassword,
                    DomainName}, this.GetUserGroupsByDomainOperationCompleted, userState);
		}

		private void OnGetUserGroupsByDomainOperationCompleted(object arg)
		{
			if ((this.GetUserGroupsByDomainCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.GetUserGroupsByDomainCompleted(this, new GetUserGroupsByDomainCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		public new void CancelAsync(object userState)
		{
			base.CancelAsync(userState);
		}
	}

	
	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.SerializableAttribute()]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	[System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://tempuri.org/")]
	public partial class UserGroupsResult
	{

		/// <remarks/>
		public bool Result;

		/// <remarks/>
		public int ResultCode;

		/// <remarks/>
		public string Message;

		/// <remarks/>
		[System.Xml.Serialization.XmlArrayItemAttribute(IsNullable = false)]
		public UserGroupInfo[] UserGroups;
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.SerializableAttribute()]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	[System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://tempuri.org/")]
	public partial class UserGroupInfo
	{

		/// <remarks/>
		public string guid;

		/// <remarks/>
		public string name;

		/// <remarks/>
		public string[] userNames;
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.SerializableAttribute()]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	[System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://tempuri.org/")]
	public partial class UserGroupInfoResult
	{

		/// <remarks/>
		public bool Result;

		/// <remarks/>
		public int ResultCode;

		/// <remarks/>
		public string Message;

		/// <remarks/>
		public UserGroupInfo UserGroup;
	}

	
	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.SerializableAttribute()]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	[System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://tempuri.org/")]
	public partial class LoginResult
	{

		/// <remarks/>
		public bool LoginValidated;

		/// <remarks/>
		public int ResultCode;

		/// <remarks/>
		public string Message;
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.SerializableAttribute()]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	[System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://tempuri.org/")]
	public partial class UserInfoListResult
	{

		/// <remarks/>
		public bool Result;

		/// <remarks/>
		public int ResultCode;

		/// <remarks/>
		public string Message;

		/// <remarks/>
		[System.Xml.Serialization.XmlArrayItemAttribute(IsNullable = false)]
		public UserInfo[] Users;
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.SerializableAttribute()]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	[System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://tempuri.org/")]
	public partial class UserInfo
	{

		/// <remarks/>
		public string UserName;

		/// <remarks/>
		public string Password;

		/// <remarks/>
		public string FirstName;

		/// <remarks/>
		public string LastName;

		/// <remarks/>
		public bool IsSystemAdmin;

		/// <remarks/>
		public bool IsDomainAdmin;
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.SerializableAttribute()]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	[System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://tempuri.org/")]
	public partial class UserAutoResponseResult
	{

		/// <remarks/>
		public bool Result;

		/// <remarks/>
		public int ResultCode;

		/// <remarks/>
		public string Message;

		/// <remarks/>
		public bool Enabled;

		/// <remarks/>
		public string Subject;

		/// <remarks/>
		public string Body;
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.SerializableAttribute()]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	[System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://tempuri.org/")]
	public partial class UserForwardingInfoResult
	{

		/// <remarks/>
		public bool Result;

		/// <remarks/>
		public int ResultCode;

		/// <remarks/>
		public string Message;

		/// <remarks/>
		public bool DeleteOnForward;

		/// <remarks/>
		public string ForwardingAddress;
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.SerializableAttribute()]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	[System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://tempuri.org/")]
	public partial class InactiveUserResult
	{

		/// <remarks/>
		public bool Result;

		/// <remarks/>
		public int ResultCode;

		/// <remarks/>
		public string Message;

		/// <remarks/>
		public string[] EmailAddress;

		/// <remarks/>
		public System.DateTime[] LastLogin;
	}

	
	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.SerializableAttribute()]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	[System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://tempuri.org/")]
	public partial class UserInfoResult
	{

		/// <remarks/>
		public bool Result;

		/// <remarks/>
		public int ResultCode;

		/// <remarks/>
		public string Message;

		/// <remarks/>
		public UserInfo UserInfo;
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	public delegate void AddUserCompletedEventHandler(object sender, AddUserCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class AddUserCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal AddUserCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
			base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public GenericResult Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((GenericResult)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	public delegate void AddUser2CompletedEventHandler(object sender, AddUser2CompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class AddUser2CompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal AddUser2CompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
			base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public GenericResult Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((GenericResult)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	public delegate void AuthenticateUserCompletedEventHandler(object sender, AuthenticateUserCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class AuthenticateUserCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal AuthenticateUserCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
			base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public GenericResult Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((GenericResult)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	public delegate void UpdateUserCompletedEventHandler(object sender, UpdateUserCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class UpdateUserCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal UpdateUserCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
			base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public GenericResult Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((GenericResult)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	public delegate void UpdateUser2CompletedEventHandler(object sender, UpdateUser2CompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class UpdateUser2CompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal UpdateUser2CompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
			base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public GenericResult Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((GenericResult)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	public delegate void UpdateUserForwardingInfoCompletedEventHandler(object sender, UpdateUserForwardingInfoCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class UpdateUserForwardingInfoCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal UpdateUserForwardingInfoCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
			base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public GenericResult Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((GenericResult)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	public delegate void UpdateUserForwardingInfo2CompletedEventHandler(object sender, UpdateUserForwardingInfo2CompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class UpdateUserForwardingInfo2CompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal UpdateUserForwardingInfo2CompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
			base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public GenericResult Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((GenericResult)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	public delegate void UpdateUserAutoResponseInfoCompletedEventHandler(object sender, UpdateUserAutoResponseInfoCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class UpdateUserAutoResponseInfoCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal UpdateUserAutoResponseInfoCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
			base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public GenericResult Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((GenericResult)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	public delegate void DeleteUserCompletedEventHandler(object sender, DeleteUserCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class DeleteUserCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal DeleteUserCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
			base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public GenericResult Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((GenericResult)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	public delegate void GetUserCompletedEventHandler(object sender, GetUserCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class GetUserCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal GetUserCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
			base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public UserInfoResult Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((UserInfoResult)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	public delegate void GetRequestedUserSettingsCompletedEventHandler(object sender, GetRequestedUserSettingsCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class GetRequestedUserSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal GetRequestedUserSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
			base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public SettingsRequestResult Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((SettingsRequestResult)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	public delegate void SetRequestedUserSettingsCompletedEventHandler(object sender, SetRequestedUserSettingsCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class SetRequestedUserSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal SetRequestedUserSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
			base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public GenericResult Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((GenericResult)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	public delegate void GetInactiveUsersCompletedEventHandler(object sender, GetInactiveUsersCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class GetInactiveUsersCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal GetInactiveUsersCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
			base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public InactiveUserResult Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((InactiveUserResult)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	public delegate void GetUserForwardingInfoCompletedEventHandler(object sender, GetUserForwardingInfoCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class GetUserForwardingInfoCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal GetUserForwardingInfoCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
			base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public UserForwardingInfoResult Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((UserForwardingInfoResult)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	public delegate void GetUserAutoResponseInfoCompletedEventHandler(object sender, GetUserAutoResponseInfoCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class GetUserAutoResponseInfoCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal GetUserAutoResponseInfoCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
			base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public UserAutoResponseResult Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((UserAutoResponseResult)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	public delegate void GetUsersCompletedEventHandler(object sender, GetUsersCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class GetUsersCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal GetUsersCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
			base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public UserInfoListResult Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((UserInfoListResult)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	public delegate void LoginValidatedCompletedEventHandler(object sender, LoginValidatedCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class LoginValidatedCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal LoginValidatedCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
			base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public LoginResult Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((LoginResult)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	public delegate void GetUserStatsCompletedEventHandler(object sender, GetUserStatsCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class GetUserStatsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal GetUserStatsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
			base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public StatInfoResult Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((StatInfoResult)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	public delegate void AddUserGroupCompletedEventHandler(object sender, AddUserGroupCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class AddUserGroupCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal AddUserGroupCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
			base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public GenericResult Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((GenericResult)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	public delegate void RemoveUserGroupCompletedEventHandler(object sender, RemoveUserGroupCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class RemoveUserGroupCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal RemoveUserGroupCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
			base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public GenericResult Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((GenericResult)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	public delegate void UpdateUserGroupCompletedEventHandler(object sender, UpdateUserGroupCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class UpdateUserGroupCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal UpdateUserGroupCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
			base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public GenericResult Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((GenericResult)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	public delegate void GetUserGroupCompletedEventHandler(object sender, GetUserGroupCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class GetUserGroupCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal GetUserGroupCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
			base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public UserGroupInfoResult Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((UserGroupInfoResult)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	public delegate void GetUserGroupsByUserCompletedEventHandler(object sender, GetUserGroupsByUserCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class GetUserGroupsByUserCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal GetUserGroupsByUserCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
			base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public UserGroupsResult Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((UserGroupsResult)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	public delegate void GetUserGroupsByDomainCompletedEventHandler(object sender, GetUserGroupsByDomainCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class GetUserGroupsByDomainCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal GetUserGroupsByDomainCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
			base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public UserGroupsResult Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((UserGroupsResult)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	[System.Web.Services.WebServiceBindingAttribute(Name = "svcProductInfoSoap", Namespace = "http://tempuri.org/")]
	public partial class svcProductInfo : System.Web.Services.Protocols.SoapHttpClientProtocol
	{

		private System.Threading.SendOrPostCallback GetLicenseInfoOperationCompleted;

		private System.Threading.SendOrPostCallback GetProductInfoOperationCompleted;

		private System.Threading.SendOrPostCallback SetLicenseKeyOperationCompleted;

		private System.Threading.SendOrPostCallback ActivateLicenseKeyOperationCompleted;

		/// <remarks/>
		public svcProductInfo()
		{
			this.Url = "http://localhost:9998/Services/svcProductInfo.asmx";
		}

		/// <remarks/>
		public event GetLicenseInfoCompletedEventHandler GetLicenseInfoCompleted;

		/// <remarks/>
		public event GetProductInfoCompletedEventHandler GetProductInfoCompleted;

		/// <remarks/>
		public event SetLicenseKeyCompletedEventHandler SetLicenseKeyCompleted;

		/// <remarks/>
		public event ActivateLicenseKeyCompletedEventHandler ActivateLicenseKeyCompleted;

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetLicenseInfo", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public LicenseInfoResult GetLicenseInfo(string AuthUserName, string AuthPassword)
		{
			object[] results = this.Invoke("GetLicenseInfo", new object[] {
                    AuthUserName,
                    AuthPassword});
			return ((LicenseInfoResult)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginGetLicenseInfo(string AuthUserName, string AuthPassword, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("GetLicenseInfo", new object[] {
                    AuthUserName,
                    AuthPassword}, callback, asyncState);
		}

		/// <remarks/>
		public LicenseInfoResult EndGetLicenseInfo(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((LicenseInfoResult)(results[0]));
		}

		/// <remarks/>
		public void GetLicenseInfoAsync(string AuthUserName, string AuthPassword)
		{
			this.GetLicenseInfoAsync(AuthUserName, AuthPassword, null);
		}

		/// <remarks/>
		public void GetLicenseInfoAsync(string AuthUserName, string AuthPassword, object userState)
		{
			if ((this.GetLicenseInfoOperationCompleted == null))
			{
				this.GetLicenseInfoOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetLicenseInfoOperationCompleted);
			}
			this.InvokeAsync("GetLicenseInfo", new object[] {
                    AuthUserName,
                    AuthPassword}, this.GetLicenseInfoOperationCompleted, userState);
		}

		private void OnGetLicenseInfoOperationCompleted(object arg)
		{
			if ((this.GetLicenseInfoCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.GetLicenseInfoCompleted(this, new GetLicenseInfoCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetProductInfo", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public ProductInfoResult GetProductInfo(string AuthUserName, string AuthPassword)
		{
			object[] results = this.Invoke("GetProductInfo", new object[] {
                    AuthUserName,
                    AuthPassword});
			return ((ProductInfoResult)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginGetProductInfo(string AuthUserName, string AuthPassword, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("GetProductInfo", new object[] {
                    AuthUserName,
                    AuthPassword}, callback, asyncState);
		}

		/// <remarks/>
		public ProductInfoResult EndGetProductInfo(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((ProductInfoResult)(results[0]));
		}

		/// <remarks/>
		public void GetProductInfoAsync(string AuthUserName, string AuthPassword)
		{
			this.GetProductInfoAsync(AuthUserName, AuthPassword, null);
		}

		/// <remarks/>
		public void GetProductInfoAsync(string AuthUserName, string AuthPassword, object userState)
		{
			if ((this.GetProductInfoOperationCompleted == null))
			{
				this.GetProductInfoOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetProductInfoOperationCompleted);
			}
			this.InvokeAsync("GetProductInfo", new object[] {
                    AuthUserName,
                    AuthPassword}, this.GetProductInfoOperationCompleted, userState);
		}

		private void OnGetProductInfoOperationCompleted(object arg)
		{
			if ((this.GetProductInfoCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.GetProductInfoCompleted(this, new GetProductInfoCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/SetLicenseKey", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public GenericResult SetLicenseKey(string AuthUserName, string AuthPassword, string Key)
		{
			object[] results = this.Invoke("SetLicenseKey", new object[] {
                    AuthUserName,
                    AuthPassword,
                    Key});
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginSetLicenseKey(string AuthUserName, string AuthPassword, string Key, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("SetLicenseKey", new object[] {
                    AuthUserName,
                    AuthPassword,
                    Key}, callback, asyncState);
		}

		/// <remarks/>
		public GenericResult EndSetLicenseKey(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public void SetLicenseKeyAsync(string AuthUserName, string AuthPassword, string Key)
		{
			this.SetLicenseKeyAsync(AuthUserName, AuthPassword, Key, null);
		}

		/// <remarks/>
		public void SetLicenseKeyAsync(string AuthUserName, string AuthPassword, string Key, object userState)
		{
			if ((this.SetLicenseKeyOperationCompleted == null))
			{
				this.SetLicenseKeyOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetLicenseKeyOperationCompleted);
			}
			this.InvokeAsync("SetLicenseKey", new object[] {
                    AuthUserName,
                    AuthPassword,
                    Key}, this.SetLicenseKeyOperationCompleted, userState);
		}

		private void OnSetLicenseKeyOperationCompleted(object arg)
		{
			if ((this.SetLicenseKeyCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.SetLicenseKeyCompleted(this, new SetLicenseKeyCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/ActivateLicenseKey", RequestNamespace = "http://tempuri.org/", ResponseNamespace = "http://tempuri.org/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
		public GenericResult ActivateLicenseKey(string AuthUserName, string AuthPassword, string AccountEmailAddress, string AccountPassword)
		{
			object[] results = this.Invoke("ActivateLicenseKey", new object[] {
                    AuthUserName,
                    AuthPassword,
                    AccountEmailAddress,
                    AccountPassword});
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public System.IAsyncResult BeginActivateLicenseKey(string AuthUserName, string AuthPassword, string AccountEmailAddress, string AccountPassword, System.AsyncCallback callback, object asyncState)
		{
			return this.BeginInvoke("ActivateLicenseKey", new object[] {
                    AuthUserName,
                    AuthPassword,
                    AccountEmailAddress,
                    AccountPassword}, callback, asyncState);
		}

		/// <remarks/>
		public GenericResult EndActivateLicenseKey(System.IAsyncResult asyncResult)
		{
			object[] results = this.EndInvoke(asyncResult);
			return ((GenericResult)(results[0]));
		}

		/// <remarks/>
		public void ActivateLicenseKeyAsync(string AuthUserName, string AuthPassword, string AccountEmailAddress, string AccountPassword)
		{
			this.ActivateLicenseKeyAsync(AuthUserName, AuthPassword, AccountEmailAddress, AccountPassword, null);
		}

		/// <remarks/>
		public void ActivateLicenseKeyAsync(string AuthUserName, string AuthPassword, string AccountEmailAddress, string AccountPassword, object userState)
		{
			if ((this.ActivateLicenseKeyOperationCompleted == null))
			{
				this.ActivateLicenseKeyOperationCompleted = new System.Threading.SendOrPostCallback(this.OnActivateLicenseKeyOperationCompleted);
			}
			this.InvokeAsync("ActivateLicenseKey", new object[] {
                    AuthUserName,
                    AuthPassword,
                    AccountEmailAddress,
                    AccountPassword}, this.ActivateLicenseKeyOperationCompleted, userState);
		}

		private void OnActivateLicenseKeyOperationCompleted(object arg)
		{
			if ((this.ActivateLicenseKeyCompleted != null))
			{
				System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
				this.ActivateLicenseKeyCompleted(this, new ActivateLicenseKeyCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
			}
		}

		/// <remarks/>
		public new void CancelAsync(object userState)
		{
			base.CancelAsync(userState);
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.SerializableAttribute()]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	[System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://tempuri.org/")]
	public partial class LicenseInfoResult
	{

		private bool resultField;

		private int resultCodeField;

		private string messageField;

		private string licenseKeyField;

		/// <remarks/>
		public bool Result
		{
			get
			{
				return this.resultField;
			}
			set
			{
				this.resultField = value;
			}
		}

		/// <remarks/>
		public int ResultCode
		{
			get
			{
				return this.resultCodeField;
			}
			set
			{
				this.resultCodeField = value;
			}
		}

		/// <remarks/>
		public string Message
		{
			get
			{
				return this.messageField;
			}
			set
			{
				this.messageField = value;
			}
		}

		/// <remarks/>
		public string LicenseKey
		{
			get
			{
				return this.licenseKeyField;
			}
			set
			{
				this.licenseKeyField = value;
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.SerializableAttribute()]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	[System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://tempuri.org/")]
	public partial class ProductInfoResult
	{

		private bool resultField;

		private int resultCodeField;

		private string messageField;

		private string productNameField;

		private string productVersionField;

		/// <remarks/>
		public bool Result
		{
			get
			{
				return this.resultField;
			}
			set
			{
				this.resultField = value;
			}
		}

		/// <remarks/>
		public int ResultCode
		{
			get
			{
				return this.resultCodeField;
			}
			set
			{
				this.resultCodeField = value;
			}
		}

		/// <remarks/>
		public string Message
		{
			get
			{
				return this.messageField;
			}
			set
			{
				this.messageField = value;
			}
		}

		/// <remarks/>
		public string ProductName
		{
			get
			{
				return this.productNameField;
			}
			set
			{
				this.productNameField = value;
			}
		}

		/// <remarks/>
		public string ProductVersion
		{
			get
			{
				return this.productVersionField;
			}
			set
			{
				this.productVersionField = value;
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	public delegate void GetLicenseInfoCompletedEventHandler(object sender, GetLicenseInfoCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class GetLicenseInfoCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal GetLicenseInfoCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
			base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public LicenseInfoResult Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((LicenseInfoResult)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	public delegate void GetProductInfoCompletedEventHandler(object sender, GetProductInfoCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class GetProductInfoCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal GetProductInfoCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
			base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public ProductInfoResult Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((ProductInfoResult)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	public delegate void SetLicenseKeyCompletedEventHandler(object sender, SetLicenseKeyCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class SetLicenseKeyCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal SetLicenseKeyCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
			base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public GenericResult Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((GenericResult)(this.results[0]));
			}
		}
	}

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	public delegate void ActivateLicenseKeyCompletedEventHandler(object sender, ActivateLicenseKeyCompletedEventArgs e);

	/// <remarks/>
	[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.1432")]
	[System.Diagnostics.DebuggerStepThroughAttribute()]
	[System.ComponentModel.DesignerCategoryAttribute("code")]
	public partial class ActivateLicenseKeyCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
	{

		private object[] results;

		internal ActivateLicenseKeyCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
			base(exception, cancelled, userState)
		{
			this.results = results;
		}

		/// <remarks/>
		public GenericResult Result
		{
			get
			{
				this.RaiseExceptionIfNecessary();
				return ((GenericResult)(this.results[0]));
			}
		}
	}


	
}

